Java仿百度網(wǎng)盤,拿來(lái)學(xué)習(xí)/搞外快,都是極好的選擇
點(diǎn)擊上方 好好學(xué)java ,選擇 星標(biāo) 公眾號(hào)
重磅資訊、干貨,第一時(shí)間送達(dá)
重磅資訊、干貨,第一時(shí)間送達(dá)
今日推薦:硬剛一周,3W字總結(jié),一年的經(jīng)驗(yàn)告訴你如何準(zhǔn)備校招!
個(gè)人原創(chuàng)100W+訪問(wèn)量博客:點(diǎn)擊前往,查看更多
個(gè)人原創(chuàng)100W+訪問(wèn)量博客:點(diǎn)擊前往,查看更多
一、前言
在gitee和github里面基本上找不到一款好用、功能完善、且開(kāi)放源碼的網(wǎng)盤系統(tǒng),有一些可以免費(fèi)試用但是只提供安裝包,于是在利用業(yè)務(wù)時(shí)間開(kāi)發(fā)了一套輕量級(jí)且易于上手的網(wǎng)盤系統(tǒng),主要基于目前主流的前后端分離和微服務(wù)架構(gòu)模式開(kāi)發(fā),里面涉及很多的解決方案,適合沒(méi)有項(xiàng)目經(jīng)驗(yàn)的同學(xué)學(xué)習(xí)。
網(wǎng)盤系統(tǒng)的核心目的有兩個(gè):
提供客戶端給業(yè)務(wù)系統(tǒng)集成,統(tǒng)一管理業(yè)務(wù)系統(tǒng)的文件;
提供在線協(xié)調(diào)辦公、管理個(gè)人文件的功能。系統(tǒng)會(huì)陸續(xù)更新和完善一些功能。
二、部署架構(gòu)說(shuō)明

三、技術(shù)棧說(shuō)明
前端技術(shù)
①vue.js+ElementUI 作為基礎(chǔ)技術(shù)框架
②WebUploader.js做切塊上傳框架
后端技術(shù)
①M(fèi)aven+SpringBoot+SpringDataJPA作為基礎(chǔ)架構(gòu)
②Dubbo+Zookeeper作為服務(wù)治理架構(gòu)
③Nacos作為配置中心
④Redis做分布式緩存、過(guò)期監(jiān)聽(tīng)
⑤Zookeeper做分布式鎖
⑥WebSocket+Netty做消息推送
⑦Solr做全文檢索引擎
⑧FastDFS做分布式文件系統(tǒng)
⑨基于Redis+token+自定義注解實(shí)現(xiàn)接口冪等性
四、功能說(shuō)明
1、網(wǎng)盤系統(tǒng)
①上傳功能:主要是針對(duì)大文件的切塊上傳、秒傳、文件夾上傳
②下載功能:主要是大文件的切塊下載;多文件(夾)合并、壓縮下載
③文件分享:文件分享包括好友分享、私密鏈接分享、分享文件的轉(zhuǎn)存
④相冊(cè)管理:可以建立不同的相冊(cè)來(lái)管理圖片,并且可以圖片在線預(yù)覽功能
⑤回收站:刪除的文件進(jìn)入回收站,可以進(jìn)行還原或者徹底刪除
⑥推送功能:主要是好友分享消息推送、過(guò)期消息推送、容量更新推送
⑦分布式鎖:主要是基于Zookeeper實(shí)現(xiàn)分布式鎖,保證高并發(fā)情況下系統(tǒng)的數(shù)據(jù)安全
⑧過(guò)期監(jiān)聽(tīng):主要是基于Redis過(guò)期事件實(shí)現(xiàn)監(jiān)聽(tīng)功能,包括:分享失效監(jiān)聽(tīng)、刪除過(guò)期監(jiān)聽(tīng)等
⑨日志采集:通過(guò)AOP埋點(diǎn)的方式進(jìn)行采集用戶請(qǐng)求日志,并遠(yuǎn)程傳輸?shù)饺罩痉?wù)端;自定義Dubbo的Filter實(shí)現(xiàn)
鏈路ID的生成⑩文件搜索:集成Solr框架實(shí)現(xiàn)全文搜索功能
?文件存儲(chǔ):集成FastDFS框架實(shí)現(xiàn)文件分布式存儲(chǔ)
?其他瑣碎功能:比如,復(fù)雜、移動(dòng)、預(yù)覽、刪除、重命名、在線創(chuàng)建、在線編輯、編輯歷史版本留痕等等
?Office在線編輯: 后期更新
?h5版本客戶端: 預(yù)計(jì)4月25號(hào)更新
?c/s版本客戶端: 后期更新
?業(yè)務(wù)系統(tǒng)API客戶端:【 已經(jīng)完成】
?圖片新增水?。?后期更新
?圖片在線裁剪: 后期更新
2、后臺(tái)系統(tǒng)
①組件管理:主要管理文件的預(yù)覽和編輯組件
②類型管理:主要是管理文件的格式、對(duì)應(yīng)的圖標(biāo)、對(duì)應(yīng)的預(yù)覽和編輯組件
③日志管理:存儲(chǔ)和展示業(yè)務(wù)系統(tǒng)的操作日志記錄,并且可以根據(jù)
追蹤ID來(lái)關(guān)聯(lián)所有的日志信息
五、項(xiàng)目地址
https://gitee.com/college996/zwz-netdisk
PS:如果覺(jué)得我的分享不錯(cuò),歡迎大家隨手點(diǎn)贊、在看。
推薦文章
原創(chuàng)電子書(shū)
歷時(shí)整整一年總結(jié)的 Java 面試 + Java 后端技術(shù)學(xué)習(xí)指南,這是本人這幾年及校招的總結(jié),各種高頻面試題已經(jīng)全部進(jìn)行總結(jié),按照章節(jié)復(fù)習(xí)即可,已經(jīng)拿到了大廠offer。
原創(chuàng)思維導(dǎo)圖
掃碼或者微信搜 程序員的技術(shù)圈子 回復(fù) 面試 領(lǐng)取原創(chuàng)電子書(shū)和思維導(dǎo)圖。



