这个项目围绕文件存储这一真实业务场景展开:以用户、文件两大业务模块为核心,配合缓存、定时任务和多种存储后端(本地存储、对象存储)的集成,搭建一套接近真实业务的分布式存储系统,重点学习模块化拆分与中间件协同,而非做一个“课程展示页”。
Redis、ZooKeeper、RocketMQ、对象存储等中间件思路Caffeine + Redis 做多级缓存Redis / ZooKeeper 处理并发写场景下的一致性协调1.8,如果重做建议直接迁移到 21(LTS,Spring Boot 3.5.x 支持)3.6+2.x2.1.9.RELEASE,现代项目建议升级到 3.5.x3.3.2,建议升级到 3.5.12(Boot 3 需用 mybatis-plus-spring-boot3-starter)中间件版本
| 中间件 | 旧版 | 当前推荐 |
|---|---|---|
| JDK | 1.8 | 21 LTS |
| Spring Boot | 2.1.9.RELEASE | 3.5.x |
| MyBatis-Plus | 3.3.2 | 3.5.12(boot3 starter) |
| Redis | 6.2.6 | 7.x |
| ZooKeeper | 3.4.14 | 3.8.x(LTS)/3.9.x(Curator 5.x) |
| RocketMQ | 4.5.1 | 5.x(gRPC 协议) |
| MySQL | 8.0 | 8.0/8.4 LTS |
模块化设计(存储抽象、多级缓存 Caffeine+Redis、一致性协调、定时补偿)是核心价值,可完全保留;中间件按上表升级即可。