Java高仿百度網(wǎng)盤項(xiàng)目
一、前言
在gitee和github里面基本上找不到一款好用、功能完善、且開放源碼的網(wǎng)盤系統(tǒng),有一些可以免費(fèi)試用但是只提供安裝包,于是在利用業(yè)務(wù)時(shí)間開發(fā)了一套輕量級(jí)且易于上手的網(wǎng)盤系統(tǒng),主要基于目前主流的前后端分離和微服務(wù)架構(gòu)模式開發(fā),里面涉及很多的解決方案,適合沒有項(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ù)更新和完善一些功能。關(guān)注 武哥聊編程,學(xué)習(xí)更多項(xiàng)目經(jīng)驗(yàn)。
二、部署架構(gòu)說明

三、技術(shù)棧說明
前端技術(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做分布式緩存、過期監(jiān)聽
⑤Zookeeper做分布式鎖
⑥WebSocket+Netty做消息推送
⑦Solr做全文檢索引擎
⑧FastDFS做分布式文件系統(tǒng)
⑨基于Redis+token+自定義注解實(shí)現(xiàn)接口冪等性
四、功能說明
1、網(wǎng)盤系統(tǒng)
①上傳功能:主要是針對(duì)大文件的切塊上傳、秒傳、文件夾上傳
②下載功能:主要是大文件的切塊下載;多文件(夾)合并、壓縮下載
③文件分享:文件分享包括好友分享、私密鏈接分享、分享文件的轉(zhuǎn)存
④相冊(cè)管理:可以建立不同的相冊(cè)來管理圖片,并且可以圖片在線預(yù)覽功能
⑤回收站:刪除的文件進(jìn)入回收站,可以進(jìn)行還原或者徹底刪除
⑥推送功能:主要是好友分享消息推送、過期消息推送、容量更新推送
⑦分布式鎖:主要是基于Zookeeper實(shí)現(xiàn)分布式鎖,保證高并發(fā)情況下系統(tǒng)的數(shù)據(jù)安全
⑧過期監(jiān)聽:主要是基于Redis過期事件實(shí)現(xiàn)監(jiān)聽功能,包括:分享失效監(jiān)聽、刪除過期監(jiān)聽等
⑨日志采集:通過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來關(guān)聯(lián)所有的日志信息
五、項(xiàng)目地址
點(diǎn)擊下面小卡片,進(jìn)入【Java開發(fā)寶典】,回復(fù):百度,即可免費(fèi)獲取。
點(diǎn)贊是最大的支持

