Java高仿百度網(wǎng)盤項目
整理自:Java團長
一、前言
在gitee和github里面基本上找不到一款好用、功能完善、且開放源碼的網(wǎng)盤系統(tǒng),有一些可以免費試用但是只提供安裝包,于是在利用業(yè)務時間開發(fā)了一套輕量級且易于上手的網(wǎng)盤系統(tǒng),主要基于目前主流的前后端分離和微服務架構模式開發(fā),里面涉及很多的解決方案,適合沒有項目經(jīng)驗的同學學習。
網(wǎng)盤系統(tǒng)的核心目的有兩個:
提供客戶端給業(yè)務系統(tǒng)集成,統(tǒng)一管理業(yè)務系統(tǒng)的文件;
提供在線協(xié)調辦公、管理個人文件的功能。系統(tǒng)會陸續(xù)更新和完善一些功能。
二、部署架構說明

三、技術棧說明
前端技術
①vue.js+ElementUI 作為基礎技術框架
②WebUploader.js做切塊上傳框架
后端技術
①Maven+SpringBoot+SpringDataJPA作為基礎架構
②Dubbo+Zookeeper作為服務治理架構
③Nacos作為配置中心
④Redis做分布式緩存、過期監(jiān)聽
⑤Zookeeper做分布式鎖
⑥WebSocket+Netty做消息推送
⑦Solr做全文檢索引擎
⑧FastDFS做分布式文件系統(tǒng)
⑨基于Redis+token+自定義注解實現(xiàn)接口冪等性
四、功能說明
1、網(wǎng)盤系統(tǒng)
①上傳功能:主要是針對大文件的切塊上傳、秒傳、文件夾上傳
②下載功能:主要是大文件的切塊下載;多文件(夾)合并、壓縮下載
③文件分享:文件分享包括好友分享、私密鏈接分享、分享文件的轉存
④相冊管理:可以建立不同的相冊來管理圖片,并且可以圖片在線預覽功能
⑤回收站:刪除的文件進入回收站,可以進行還原或者徹底刪除
⑥推送功能:主要是好友分享消息推送、過期消息推送、容量更新推送
⑦分布式鎖:主要是基于Zookeeper實現(xiàn)分布式鎖,保證高并發(fā)情況下系統(tǒng)的數(shù)據(jù)安全
⑧過期監(jiān)聽:主要是基于Redis過期事件實現(xiàn)監(jiān)聽功能,包括:分享失效監(jiān)聽、刪除過期監(jiān)聽等
⑨日志采集:通過AOP埋點的方式進行采集用戶請求日志,并遠程傳輸?shù)饺罩痉斩耍蛔远xDubbo的Filter實現(xiàn)
鏈路ID的生成⑩文件搜索:集成Solr框架實現(xiàn)全文搜索功能
?文件存儲:集成FastDFS框架實現(xiàn)文件分布式存儲
?其他瑣碎功能:比如,復雜、移動、預覽、刪除、重命名、在線創(chuàng)建、在線編輯、編輯歷史版本留痕等等
?Office在線編輯:?后期更新
?h5版本客戶端:?預計4月25號更新
?c/s版本客戶端:?后期更新
?業(yè)務系統(tǒng)API客戶端:【?已經(jīng)完成】
?圖片新增水印:?后期更新
?圖片在線裁剪:?后期更新
2、后臺系統(tǒng)
①組件管理:主要管理文件的預覽和編輯組件
②類型管理:主要是管理文件的格式、對應的圖標、對應的預覽和編輯組件
③日志管理:存儲和展示業(yè)務系統(tǒng)的操作日志記錄,并且可以根據(jù)
追蹤ID來關聯(lián)所有的日志信息
五、項目地址
關注公眾號:程序員編程
回復:15
掃描上方二維碼,回復 15 即可獲取地址
項目地址:https://gitee.com/college996/zwz-netdisk
