一款轻量级微服务架构网盘系统,你Get了吗

举报
Java小叮当 发表于 2022/04/16 02:15:43 2022/04/16
【摘要】 一、前言 在gitee和github里面基本上找不到一款好用、功能完善、且开放源码的网盘系统,有一些可以免费试用但是只提供安装包,于是在利用业务时间开发了一套轻量级且易于上手的网盘系统,主要基于目...

一、前言

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

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

  1. 提供客户端给业务系统集成,统一管理业务系统的文件;
  2. 提供在线协调办公、管理个人文件的功能。系统会陆续更新和完善一些功能。

二、部署架构说明

三、技术栈说明

前端技术

  • ①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来关联所有的日志信息

最后

源码、参考文档获取方式:关注小编+转发文章+私信【555】免费获取
重要的事情说三遍,转发+转发+转发,一定要记得点赞转发哦!!!
另外整理成了40多套PDF文档:全套的Java面试宝典手册1000+pdf,
1.编程+开源框架+分布式”等七大面试专栏
2.Java核心知识点1000+Java面试题合集pdf
3.阿里、京东、蚂蚁等大厂面试真题解析
4.Spring全家桶面试题
5.算法笔记文档+刷题手册
6.思维导图(jvm、mysql、并发编程、数据库、kafka等等)。
如果你对这个感兴趣,小编可以免费分享。

最后源码、项目地址、获取方式:下方二维码,备注:csdn

文章来源: blog.csdn.net,作者:Java小叮当,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/m0_48795607/article/details/124183887

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。