我大三時(shí)做的羞恥項(xiàng)目!
大學(xué)時(shí)期獨(dú)立開發(fā)的作品分享
大家好,我是魚皮,最近翻留言,發(fā)現(xiàn)有不少小伙伴想了解下我大學(xué)時(shí)做過的項(xiàng)目,必須安排!
下面就分享我在大三下學(xué)期時(shí)獨(dú)立開發(fā)的 羞恥 項(xiàng)目 —— 分布式郵件調(diào)度平臺(tái)。
為什么用 “羞恥” 來形容呢?往下看。

項(xiàng)目背景
這個(gè)項(xiàng)目是為了一年一度的計(jì)算機(jī)應(yīng)用能力大賽而準(zhǔn)備的參賽作品。因?yàn)榇蠖r(shí)只拿了三等獎(jiǎng),所以想在大三時(shí)扳回一城,于是強(qiáng)行拉了兩名室友和我一起報(bào)名,準(zhǔn)備搞個(gè)大計(jì)劃。
結(jié)果呢,因?yàn)楫?dāng)時(shí)在字節(jié)跳動(dòng)實(shí)習(xí),其他空余時(shí)間都在刷算法和深入學(xué)習(xí) Java 后端,就導(dǎo)致快到比賽結(jié)束了才想起來 提交 開始做作品。

所以,最后只花了 7 天左右,就把這個(gè)作品趕出來了。不僅沒有經(jīng)過充分的測(cè)試,寫出來的代碼也比較粗糙,來不及優(yōu)化,換言之就是 能跑就行 ,或者能在 PPT 上展示、有個(gè)截圖就行。
自己現(xiàn)在回想起來,真的是忘記了自己報(bào)名比賽時(shí)的豪言壯志。
項(xiàng)目介紹
由于大二參賽時(shí)做了一個(gè)大而全的項(xiàng)目《校園二手交易平臺(tái)》,所以這次想做個(gè) 技術(shù) + 應(yīng)用 相結(jié)合的項(xiàng)目,本來的項(xiàng)目名是 “郵件發(fā)送平臺(tái)”,太 low,就改名為 “分布式郵件調(diào)度平臺(tái)”,瞬間高大上了許多~

為啥要做這玩意兒呢?
給用戶發(fā)郵件是開發(fā)中很常見的功能。如今技術(shù)日新月異,各種框架層出不窮,但是定時(shí)郵件、延遲郵件、事件觸發(fā)郵件等功能需要自己實(shí)現(xiàn),較為復(fù)雜;且在郵件數(shù)量過多,網(wǎng)絡(luò)不穩(wěn)定等因素時(shí),我們很難對(duì)發(fā)送郵件的結(jié)果以及歷史進(jìn)行一個(gè)統(tǒng)計(jì)管理。
因此我想要通過簡(jiǎn)潔的界面去集中管理郵件的發(fā)送、自動(dòng)回復(fù)、失敗重發(fā),并且能夠?qū)v史郵件進(jìn)行統(tǒng)一的日志記錄和查看。

對(duì)于現(xiàn)在的分布式應(yīng)用,單機(jī)的 “郵件調(diào)度平臺(tái)” 已經(jīng)難以滿足性能需求,因此需要 分布式 ,利用 RPC 遠(yuǎn)程調(diào)用實(shí)現(xiàn)各獨(dú)立應(yīng)用與主服務(wù)器的交互。
其實(shí)整個(gè)系統(tǒng)的設(shè)計(jì)很像開發(fā)一個(gè)分布式任務(wù)調(diào)度平臺(tái),只不過更專注于郵件而已。
技術(shù)棧
這是一個(gè)前后端兼?zhèn)涞娜珬m?xiàng)目。
在技術(shù)的選型上,前端使用主流的 Vue 框架、Element UI 組件庫(kù),并通過秘技 IceWork 快速生成前端頁(yè)面,要不然 7 天光前端都寫不完!
后端就用主流的 Java SpringBoot,用 Quartz 實(shí)現(xiàn)定時(shí)任務(wù)調(diào)度、用 Java Mail 實(shí)現(xiàn)郵件發(fā)送等。由于時(shí)間緊急,也沒有用關(guān)系型數(shù)據(jù)庫(kù),大部分?jǐn)?shù)據(jù)都直接在內(nèi)存用 HashMap 和 Redis 存儲(chǔ)了。
此外,為了保障服務(wù)端的穩(wěn)定性,用時(shí)序數(shù)據(jù)庫(kù) InfluxDB + Grafana 搭了一個(gè)應(yīng)用監(jiān)控。

項(xiàng)目演示
用圖文來展示項(xiàng)目沒那個(gè)味兒,所以我特地錄制了視頻,并且上傳到小破站了,歡迎大家觀看~
視頻地址:https://www.bilibili.com/video/BV1t54y177qs/
(或者點(diǎn)擊文章下方 閱讀原文 直達(dá))

項(xiàng)目資料
雖然由于時(shí)間緊,導(dǎo)致項(xiàng)目做得并不完善,但應(yīng)該還是有值得參考的地方,索性就將項(xiàng)目的設(shè)計(jì)文檔、答辯 PPT 還有所有的源代碼全部給大家!
在我的公眾號(hào) 程序員魚皮 后臺(tái)回復(fù)【郵件系統(tǒng)】就可以領(lǐng)取了~
僅供大家學(xué)習(xí)參考,請(qǐng)勿抄襲和隨意傳播哦。
?? 點(diǎn)擊下方閱讀原文也可直達(dá)項(xiàng)目演示視頻,歡迎觀看 ??
我是魚皮,點(diǎn)贊 + 在看 還是要求一下的,祝大家都能心想事成、發(fā)大財(cái)、行大運(yùn)。

往期推薦
