美文网首页IT必备技能
Java高仿百度网盘项目,值得拥有

Java高仿百度网盘项目,值得拥有

作者: 程序员木子 | 来源:发表于2021-01-07 18:27 被阅读0次

    一、前言

    在gitee和github里面基本上找不到一款好用、功能完善、且开放源码的网盘系统,有一些可以免费试用但是只提供安装包,于是在利用业务时间开发了一套轻量级且易于上手的网盘系统,主要基于目前主流的前后端分离和微服务架构模式开发,里面涉及很多的解决方案,适合没有项目经验的同学学习。

    网盘系统的核心目的有两个:

    提供客户端给业务系统集成,统一管理业务系统的文件;

    提供在线协调办公、管理个人文件的功能。系统会陆续更新和完善一些功能。

    二、部署架构说明

    三、技术栈说明

    前端技术

    ①vue.js+ElementUI 作为基础技术框架

    ②WebUploader.js做切块上传框架

    后端技术

    ①Maven+SpringBoot+SpringDataJPA作为基础架构

    ②Dubbo+Zookeeper作为服务治理架构

    ③Nacos作为配置中心

    ④Redis做分布式缓存、过期监听

    ⑤Zookeeper做分布式锁

    ⑥WebSocket+Netty做消息推送

    ⑦Solr做全文检索引擎

    ⑧FastDFS做分布式文件系统

    ⑨基于Redis+token+自定义注解实现接口幂等性

    四、功能说明

    1、网盘系统

    ①上传功能:主要是针对大文件的切块上传、秒传、文件夹上传

    ②下载功能:主要是大文件的切块下载;多文件(夹)合并、压缩下载

    ③文件分享:文件分享包括好友分享、私密链接分享、分享文件的转存

    ④相册管理:可以建立不同的相册来管理图片,并且可以图片在线预览功能

    ⑤回收站:删除的文件进入回收站,可以进行还原或者彻底删除

    ⑥推送功能:主要是好友分享消息推送、过期消息推送、容量更新推送

    ⑦分布式锁:主要是基于Zookeeper实现分布式锁,保证高并发情况下系统的数据安全

    ⑧过期监听:主要是基于Redis过期事件实现监听功能,包括:分享失效监听、删除过期监听等

    ⑨日志采集:通过AOP埋点的方式进行采集用户请求日志,并远程传输到日志服务端;自定义Dubbo的Filter实现链路ID的生成

    ⑩文件搜索:集成Solr框架实现全文搜索功能

    ⑪文件存储:集成FastDFS框架实现文件分布式存储

    ⑫其他琐碎功能:比如,复杂、移动、预览、删除、重命名、在线创建、在线编辑、编辑历史版本留痕等等

    ⑬Office在线编辑:后期更新

    ⑭h5版本客户端:预计4月25号更新

    ⑮c/s版本客户端:后期更新

    ⑯业务系统API客户端:【已经完成】

    ⑰图片新增水印:后期更新

    ⑱图片在线裁剪:后期更新

    2、后台系统

    ①组件管理:主要管理文件的预览和编辑组件

    ②类型管理:主要是管理文件的格式、对应的图标、对应的预览和编辑组件

    ③日志管理:存储和展示业务系统的操作日志记录,并且可以根据追踪ID来关联所有的日志信息

    需要项目地址可以关注+私信小编“百度网盘”领取吧

    相关文章

      网友评论

        本文标题:Java高仿百度网盘项目,值得拥有

        本文链接:https://www.haomeiwen.com/subject/gavzoktx.html