一、前言

在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

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

  1. 仿百度网盘的一款轻量级微服务架构网盘系统

    Java面试笔试面经.Java技术每天学习一点 公众号Java面试 关注我不迷路 作者:996学院 来源:https://gitee.com/college996/zwz-netdisk 一.前言 在 ...

  2. 跟着《架构探险》学轻量级微服务架构 (一)

    架构探险 微服务概念这两年已经火遍大江南了,但在实际的开发和使用中,用到的还是挺少的,尤其对创业团队来说. 在上一个产品中,我们也在把传统的开发模式,不断往「微服务」方向靠拢.但终究还是处于学习阶段. ...

  3. 架构探险-轻量级微服务架构_第3部分-单活动架构+一些时髦的Dagger

    架构探险-轻量级微服务架构 This series takes a basic MVP app using Retrofit and RxJava to display a list of Githu ...

  4. 基于微服务架构的餐饮系统的设计与实现计算机毕业设计源码86393

    摘    要 近年来,我国经济和社会发展迅速,人们物质生活水平日渐提高,餐饮行业更是发展迅速,人们对于餐饮行业的认识和要求也越来越高.传统形式的餐饮行业都是以人为本,管理起来需要很多人力.物力.财力, ...

  5. 轻量级微服务架构【读书笔记2】

    1. Spring Boot 是什么(What) Spring Boot 是为生产级 Spring 应用而生的,它使得开发 Spring 应用程序更加高效.简洁. 1.1 由来 Spring 1.0 ...

  6. 监控即服务:微服务架构的模块化系统

    除了单体应用的代码,我们的项目还由几十个微服务组成.这些微服务都需要加以监控,而这些事情全部让 DevOps 工程师来做是不太可能的.所以我们开发了一个监控系统,为开发者提供服务.他们可以自由的配置监 ...

  7. 基于 SpringCloud 微服务架构的广告系统(第一部分:eureka、zuul、通用模块)

    目录 广告系统架构图 一.eureka服务 二.zuul网关 zuul启动与自定义过滤器(实现访问记录)示意图 三.通用模块(统一响应与统一异常) 统一响应(对象)示意图 统一响应示意图 统一异常(对 ...

  8. 一款功能齐全的开源网盘系统

      大家好,我是小编南风吹,每天推荐一个小工具/源码,装满你的收藏夹,让你轻松节省开发效率,实现不加班不熬夜不掉头发!   今天小编推荐一款基于Spring Boot + VUE CLI@3 框架开发 ...

  9. 微服务实战(五):落地微服务架构到直销系统(构建高性能大并发系统)

    在现代系统中,特别是互联网软件,通常会涉及到大量用户的并发访问,我们的系统一定要在架构上支持高性能.大并发的访问.一个高性能的系统通常由很多的方面组成,包括数据库高性能.Web服务器高性能.负载均衡. ...

最新文章

  1. HDU 2243 考研路茫茫——单词情结(自动机)
  2. ASP.NET中App_Code,App_Data等文件夹的作用转
  3. 【jenkins】jenkins CI/CD搭建基本过程
  4. oracle数据库延迟执行,如何诊断oracle数据库运行缓慢或hang住的问题
  5. 2.1.1 物理层接口特性、数据通信模型、物理层基本概念(数据、信号、码元 、信源、信道、信宿 、速率、波特、带宽)(转载)
  6. HTML5 响应式网页设计之页面美化(一.响应式布局)
  7. ASP.NET编程的十大技巧
  8. 创业维艰,技术人创业如何少走弯路?
  9. 基于jAVAWeb停车场管理系统
  10. matlab 画图直接存储_Matlab用plot画图后怎么保存图像
  11. 微软自带虚拟机Hyper—V启用
  12. android 广告栏效果,叫教你打造一个滑动悬浮置顶的视觉效果,给你的广告栏增加一些特色...
  13. Python安装库的常用方法
  14. Linux粘滞位简析
  15. F2FS源码分析系列文章目录
  16. word打印“错误!未找到引用源”的解决办法
  17. 基于enc28j60的学习心得
  18. android新建txt文件类型,Android开发:新建后缀为txt的文件并且使用的步骤
  19. 详解Unity中的粒子系统Particle System (一)
  20. 电影、电视和游戏中的帧率

热门文章

  1. 1093 打印小写字母表+1101时间的差+1115数字和+1134 国王的魔镜+1387简单加密+1480找字典码最小的字符串+1098判断是否构成回文+1591求子串的位置+1116调换位置
  2. 什么是Essay和Article?
  3. 2021年1月5日订阅朋友的问题与解决方案汇总
  4. 计算机程序怎么运行的,程序是如何被计算机所执行的?
  5. Linux下c语言文件读写函数总结
  6. IOS7 系统下的UIScrollView偏移问题
  7. 义乌个体户注册流程有哪些
  8. TCP/IP协议,握手,挥手
  9. hdp3.1.4 hive 开启lzo压缩
  10. 《测绘管理与法律法规》——测绘项目合同管理