特性分析

做秒杀系统前,先不要急着选 Redis、MQ 或数据库锁。真正重要的是分析秒杀业务的特性,因为架构方案必须服务于这些特性。

流量特征

秒杀流量和普通电商流量不同:

  • 开始前流量逐渐升高,用户频繁刷新。
  • 开始瞬间出现尖峰,远高于平时流量。
  • 库存售罄后仍会有大量重试。
  • 成功请求很少,失败请求占绝大多数。

因此,系统设计重点不是“处理每一个请求”,而是尽早过滤无效请求,把核心资源留给可能成功的请求。

库存特征

秒杀库存有三个特点:

  • 数量有限。
  • 扣减必须准确。
  • 支付超时后可能释放。

库存不是一个简单数字。它涉及活动库存、已占用库存、已支付库存、取消释放库存。不同状态之间需要清晰流转。

链路拆分

秒杀链路可以拆成:

活动页访问 -> 资格校验 -> 限流排队 -> 库存预扣 -> 创建订单 -> 支付确认 -> 库存确认

每一步都可以单独限流、降级和监控。不要把所有逻辑塞进一个下单接口。

风险特征

秒杀天然吸引黑产:

  • 脚本高速请求。
  • 多账号批量抢购。
  • 代理 IP 绕过限流。
  • 提前探测接口和库存。

所以防刷不是后置功能,而是秒杀链路的一部分。学完本章后,你应该能把秒杀问题拆成流量、库存、订单和风控四条线。

章节