推荐一个Java高仿百度网盘的项目
前言
提供客户端给业务系统集成,统一管理业务系统的文件;
提供在线协调办公、管理个人文件的功能。系统会陆续更新和完善一些功能。
部署架构说明
技术栈说明
前端技术
①vue.js+ElementUI 作为基础技术框架
②WebUploader.js做切块上传框架
后端技术
①Maven+SpringBoot+SpringDataJPA作为基础架构
②Dubbo+Zookeeper作为服务治理架构
③Nacos作为配置中心
④Redis做分布式缓存、过期监听
⑤Zookeeper做分布式锁
⑥WebSocket+Netty做消息推送
⑦Solr做全文检索引擎
⑧FastDFS做分布式文件系统,关注Java轮子查看更多项目
⑨基于Redis+token+自定义注解实现接口幂等性
功能说明
1、网盘系统
①上传功能:主要是针对大文件的切块上传、秒传、文件夹上传
②下载功能:主要是大文件的切块下载;多文件(夹)合并、压缩下载
③文件分享:文件分享包括好友分享、私密链接分享、分享文件的转存
④相册管理:可以建立不同的相册来管理图片,并且可以图片在线预览功能
⑤回收站:删除的文件进入回收站,可以进行还原或者彻底删除
⑥推送功能:主要是好友分享消息推送、过期消息推送、容量更新推送
⑦分布式锁:主要是基于Zookeeper实现分布式锁,保证高并发情况下系统的数据安全
⑧过期监听:主要是基于Redis过期事件实现监听功能,包括:分享失效监听、删除过期监听等
⑨日志采集:通过AOP埋点的方式进行采集用户请求日志,并远程传输到日志服务端;自定义Dubbo的Filter实现链路ID的生成
⑩文件搜索:集成Solr框架实现全文搜索功能
⑪文件存储:集成FastDFS框架实现文件分布式存储
⑫其他琐碎功能:比如,复杂、移动、预览、删除、重命名、在线创建、在线编辑、编辑历史版本留痕等等
⑬Office在线编辑: 后期更新
⑭h5版本客户端: 预计4月25号更新
⑮c/s版本客户端: 后期更新
⑯业务系统API客户端:【 已经完成】
⑰图片新增水印: 后期更新
⑱图片在线裁剪: 后期更新,关注Java项目精选,查看更多项目
2、后台系统
①组件管理:主要管理文件的预览和编辑组件
②类型管理:主要是管理文件的格式、对应的图标、对应的预览和编辑组件
③日志管理:存储和展示业务系统的操作日志记录,并且可以根据追踪ID来关联所有的日志信息