Java · 分布式与中间件阶段 46 项必做
简易秒杀系统(限流 + 库存扣减 + 异步下单)
理解一个中型系统的完整技术链路
难度
建议投入 48–84 小时· 6 条需求验收权重
能画出系统架构图;能用 JMeter 压出瓶颈并优化一次40%
核心功能可独立跑通,无阻断性 bug25%
关键路径有测试或可复现的验收脚本15%
README 写清运行方式、架构与踩坑10%
能在 5 分钟内讲清设计与取舍10%
总分 100。低于 60 分说明这个阶段还没过,回去补知识点,不丢人。
项目背景
这是「Java」路径第 4 阶段(阶段四 · 分布式与中间件)的验收项目。本阶段目标是:理解一个中型系统的完整技术链路。项目不是练习题的堆砌,而是把这一阶段的知识点压缩成一个能演示、能讲清楚取舍的成品。
MVP 目标
- 理解一个中型系统的完整技术链路
- 做出可运行、可演示的「简易秒杀系统」
- 把 Spring Cloud / 服务注册与网关、消息队列 Kafka、分布式锁与缓存三兄弟 真正用进项目,而不是停在笔记里
功能需求清单
6 项必做 · 0 项建议- 1库存预热必做
活动开始前把库存写入 Redis,避免直接打数据库。
- 2限流必做
按用户/IP 做令牌桶或滑动窗口限流,超限返回明确错误。
- 3原子扣减必做
用 Lua 脚本或原子操作扣库存,压测下不超卖。
- 4异步下单必做
扣减成功后投递消息,由消费者落库生成订单。
- 5超时取消必做
未支付订单在设定时间后自动关闭并回补库存。
- 6压测报告必做
用 JMeter 压出 QPS/RT,记录一次优化前后对比。
技术约束
Spring Cloud / 服务注册与网关消息队列 Kafka分布式锁与缓存三兄弟分库分表思路Docker 部署
交付物
- Git 仓库(含分阶段提交记录,不是最后一次性上传)
- README:项目简介、架构/流程图、运行方式、已知限制
- 演示材料:截图,或 1–2 分钟录屏
- 复盘:做错的 3 个决定与改进方案
加分项
- 分库分表
- 热点商品隔离
- 降级开关与熔断
最容易翻车的地方
- 先查库存再减导致超卖
- 锁粒度太大把整个接口串行化
- 消息重复消费导致重复下单
做完之后,简历怎么写
「简易秒杀系统」:独立完成 限流、库存扣减、异步下单,使用 Spring Cloud / 服务注册与网关、消息队列 Kafka、分布式锁与缓存三兄弟;通过「能画出系统架构图」验收。
写「做了什么 + 用了什么 + 结果如何」,不要写「参与了 XX 系统」。