Java面试笔试面经、Java技术每天学习一点

公众号Java面试

关注我不迷路

作者:996学院

来源:https://gitee.com/college996/zwz-netdisk

一、前言

在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过期事件实现监听功能,包括:分享失效监听、删除过期监听等。关注公众号[Java面试]获取更多面试资料

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

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

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

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

  • ⑬Office在线编辑: 后期更新

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

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

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

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

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

2、后台系统

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

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

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

五、项目地址

https://gitee.com/college996/zwz-netdisk

仿百度网盘的一款轻量级微服务架构网盘系统相关推荐

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

    一.前言 在gitee和github里面基本上找不到一款好用.功能完善.且开放源码的网盘系统,有一些可以免费试用但是只提供安装包,于是在利用业务时间开发了一套轻量级且易于上手的网盘系统,主要基于目前主 ...

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

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

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

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

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

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

  5. 轻量级微服务架构实践之路

    架构图: 工具箱: 转载于:https://www.cnblogs.com/davidwang456/articles/9218846.html

  6. python微服务架构设计模式_微服务架构设计模式 PDF 电子书 百度云 网盘下载

    你还没有注册,无法下载本站所有资源,请立即注册! 您需要 登录 才可以下载或查看,没有帐号?立即注册 x java自学网(http://www.137zw.com)-java论坛,java电子书推荐: ...

  7. C++轻量级微服务_微服务技术栈:API网关中心,落地实现方案

    一.服务网关简介 1.外观模式 客户端与各个业务子系统的通信必须通过一个统一的外观对象进行,外观模式提供一个高层次的接口,使得子系统更易于使用: 简单说一下外观模式,网关和这个模式很像,但是比外观模式 ...

  8. 网易蜂巢微服务架构:用RabbitMQ实现轻量级通信

    本文根据第60期线上分享整理而成,文末还有书送哦~ 本次分享内容由三个部分组成: 微服务架构与MQ RabbitMQ场景分析与优化 RabbitMQ在网易蜂巢中的应用和案例分享 微服务架构是一种架构模 ...

  9. C++轻量级微服务_从微服务架构解析信源新一代“金融e采”产品

    金融电采,信源信息 信源信息从事电子化采购软件开发已经有15个年头,进行金融保险类采购系统的开发也已经有十多年了. 信源信息针对金融领域客户量身定做的"金融e采"产品线,以前瞻的技 ...

最新文章

  1. 第六章 逻辑回归-机器学习老师板书-斯坦福吴恩达教授
  2. chapter14 机器学习之利用SVD简化数据
  3. 面试官再问高并发,求你把这篇发给他!
  4. jer中无html文件,index.html
  5. 前端学习(740):函数返回值注意事项
  6. python-变量操作-字符串
  7. 探究position定位中absolute和relative的异同
  8. 一个 Python 报表自动化实战案例
  9. 中文版Latex常用语法大全教程
  10. 树莓派交叉编译USB转网卡驱动_incomplete
  11. 用cmd命令行下载github中的工程文件
  12. 1.17 “干项目太累,那是因为姿势不对” Stacey矩阵
  13. 两狗(sogou google)相争,必有一伤
  14. 修改Element-ui表格样式
  15. web中的$多种意思
  16. bash破壳漏洞分析(二)
  17. oracle判断字符串以什么开头_oracle 如何查找特定字母开头的某个字段?
  18. Vue详解及综合案例
  19. python人工智能课程实例_python人工智能AI深度学习/机器学习全套课程 视频教程+ppt+代码...
  20. Linux下的网络设备驱动

热门文章

  1. Linux系统安装Chrome浏览器、CentOS安装google浏览器简单教程
  2. 6年拉力工作经验,学了阿里P8级架构师的7+1+1落地项目,跳槽阿里年薪直接40W+
  3. 安利【1】-PDF翻译工具
  4. 趣味职场俚语笔记(01_Debbie Talks Shop)
  5. 获取ckeditor的内容
  6. 《Android源码设计模式解析与实战》读书笔记(二十四)
  7. java.lang、java.io、java.net、java.util解释整理
  8. 嵌入式linux驱动开发--设备资源描述
  9. 计算机报录比多少算高,报录比多少合适?怎么算好考?我来告诉你答案
  10. 基于Linux的音乐音效软件,在Arch Linux系统上可用Pipewire取代PulseEffects音效软件