秒杀系统设计
一、业务特点
1. 瞬时并发量大
(1)大量用户会在同一时间进行抢购
(2)网站瞬时访问流量激增
2. 库存少
(1)访问请求数量远远大于库存数量
(2)只有少部分用户能够秒杀成功
3. 业务流程简单
流程比较简单,一般都是下订单、扣库存、支付订单。
二、技术难点
1. 现有业务的冲击
秒杀是营销活动中的一种,如果和其他营销活动应用部署在同一服务器上,肯定会对现有其他活动造成冲击,极端情况下可能导致整个电商系统服务宕机。
2. 上游拦截
下单页面是一个正常的 URL 地址,需要控制在秒杀开始前,不能下订单,只能浏览对应活动商品的信息。简单来说,需要 Disable 订单按钮。
3. 页面流量突增:
秒杀活动开始前后,会有很多用户请求对应商品页面,会造成后台服务器的流量突增,同时对应的网络带宽增加,需要控制商品页面的流量不会对后台服务器、数据库、Redis等组件的造成过大的压力。
三、架构设计思想
1. 限流
由于活动库存量一般都是很少,对