跳到主要内容
CodeAtlas
Java · 分布式与中间件阶段 46 项必做

简易秒杀系统(限流 + 库存扣减 + 异步下单)

理解一个中型系统的完整技术链路

难度
建议投入 48–84 小时· 6 条需求
验收权重
能画出系统架构图;能用 JMeter 压出瓶颈并优化一次40%
核心功能可独立跑通,无阻断性 bug25%
关键路径有测试或可复现的验收脚本15%
README 写清运行方式、架构与踩坑10%
能在 5 分钟内讲清设计与取舍10%

总分 100。低于 60 分说明这个阶段还没过,回去补知识点,不丢人。

项目背景

这是「Java」路径第 4 阶段(阶段四 · 分布式与中间件)的验收项目。本阶段目标是:理解一个中型系统的完整技术链路。项目不是练习题的堆砌,而是把这一阶段的知识点压缩成一个能演示、能讲清楚取舍的成品。

MVP 目标
  • 理解一个中型系统的完整技术链路
  • 做出可运行、可演示的「简易秒杀系统」
  • 把 Spring Cloud / 服务注册与网关、消息队列 Kafka、分布式锁与缓存三兄弟 真正用进项目,而不是停在笔记里

功能需求清单

6 项必做 · 0 项建议
  1. 1
    库存预热必做

    活动开始前把库存写入 Redis,避免直接打数据库。

  2. 2
    限流必做

    按用户/IP 做令牌桶或滑动窗口限流,超限返回明确错误。

  3. 3
    原子扣减必做

    用 Lua 脚本或原子操作扣库存,压测下不超卖。

  4. 4
    异步下单必做

    扣减成功后投递消息,由消费者落库生成订单。

  5. 5
    超时取消必做

    未支付订单在设定时间后自动关闭并回补库存。

  6. 6
    压测报告必做

    用 JMeter 压出 QPS/RT,记录一次优化前后对比。

技术约束

Spring Cloud / 服务注册与网关消息队列 Kafka分布式锁与缓存三兄弟分库分表思路Docker 部署

交付物

  • Git 仓库(含分阶段提交记录,不是最后一次性上传)
  • README:项目简介、架构/流程图、运行方式、已知限制
  • 演示材料:截图,或 1–2 分钟录屏
  • 复盘:做错的 3 个决定与改进方案

加分项

  • 分库分表
  • 热点商品隔离
  • 降级开关与熔断

最容易翻车的地方

  • 先查库存再减导致超卖
  • 锁粒度太大把整个接口串行化
  • 消息重复消费导致重复下单

做完之后,简历怎么写

「简易秒杀系统」:独立完成 限流、库存扣减、异步下单,使用 Spring Cloud / 服务注册与网关、消息队列 Kafka、分布式锁与缓存三兄弟;通过「能画出系统架构图」验收。

写「做了什么 + 用了什么 + 结果如何」,不要写「参与了 XX 系统」。