相信任何接触过电商软件的人,都参与或听说过“秒杀”活动,但是对秒杀业务理解较多的,知之甚少。此次只从 秒杀系统特性层面、运营层面 进行简单的阐述。

秒杀系统的特性

业务技术特点

大流量与高并发

只要不是默默无声的搞秒杀,一定会有大流量

  • 技术上的处理,主要通过以下几个层面去解决:
    1. 数据预热(预加载)
      将 秒杀商品 提前加入到缓存系统如 ES、Redis 等,防止商品超卖(需要用到”锁”)和缓存穿透甚至雪崩
    2. 限流
      通过 网络代理层(如 Nginx)、SLB负载均衡层、程序限流组件与算法(如 guava 限流) 、前端逻辑过滤等多种手段,防止大流量而造成服务拒绝或阻塞
    3. 削峰
      通过异步通信的设计与解决方案如 RPC、MQ等具体的实现
    4. 隔离
      a. 通过部署隔离方案,在网络拓扑将秒杀系统独立部署,即使异常或宕机,至少不会导致主营业务系统受损或瘫痪
      b. 库表分区

推荐阅读文章:
秒杀系统设计思路笔记 https://blog.csdn.net/qq_28666081/article/details/83043215

产品上 的处理,常见通过以下方式解决:

  1. 削峰
    如交互路径设计、交互弹窗、报名机制、图形识别或验证码、答题等
  2. 防刷
    如图形识别或验证码、答题、黑白名单、用户风控、交易风控引入等
  3. 限时
    如支付窗口限时以防止锁库存和恶意竞争等
  4. 限流

对于次要或低频业务,降低流量区间。如历史订单只允许查看1个月3个月等

I/O密集

  1. 池化连接
  2. 数据预热
  3. 配置优化

运营层面

市场预热

  • 品宣预告
  • 活动预告

商品限制

  • 限量销售
  • 限时销售
  • 限价销售
  • 限用户(多策略模式)

秒杀的价值/目的

秒杀活动均是商业价值转换的常用玩法,如

  • 市场激活
    1. 用户拉新
    2. 盘活用户
    3. 盘活平台
    4. 冲量交易额与订单数
  • 其他(如清仓)