文章目录
- 一、需求背景
- 二、核心功能
- 1、功能要求
- 2、非工能要求
- 三、存储方式
- 四、实现方式
- 五、技术栈说明
一、需求背景
二、核心功能
1、功能要求
- 文件上传
- 文件预览
- 文件分片上传
- 文件分片合并
- 文件秒传
- 文件断点续传
- 文件下载
2、非工能要求
- 高扩展性:方便添加新的存储方式,不对已有的存储方式产生影响。
- 复用性:为文件操作提供统一的接口规范。
- 动态配置型:存储方式可手动注册。
- 高可用性:作为共用的基础服务,要具有较高的可用性。
三、存储方式
- 本地存储
- mino存储
- 云储存
…
可以对接多种存储方式
四、实现方式
SPI机制+策略模式,实现可插拔的文件存储方式
五、技术栈说明
- Maven+SpringBoot+SpringCloud作为基础架构
- Nacos作为配置中心
- Redis作为分布式缓存、过期监听、分布式锁
- MySQL作为底层数据存储
- SPI机制