1.电商秒杀系统特点:
1.1.大量并发,在某一时间99%的用户涌入
1.2.有效请求数很低,可以认为有效请求数和库存数一致,可能99%以上的流量都是无效的
1.3.库存数据的一致性要求严格,不能超卖
2.秒杀系统架构思路
2.1.数据分层次校验,上层尽量把无效请求过滤
2.2.上层可以是不精确的过滤
2.3.层层限流,最后一层做数据一致性校验,扣减库存
3.秒杀系统架构设计
3.1.HTML、JS、CSS等静态文件存放CDN,缓存到用户端(APP/浏览器)
3.2.非实时动态数据( 秒杀期间如商品标题、商品描述、图片URL列表、店铺信息、秒杀活动信息等),这些数据缓存在用户访问链路中靠近用户的位置,粗过滤一部分流量,比如用户是否有秒杀资格、秒杀是否已经结束等,这些数据实时性要求不高
3.3.实时数据如用户营销数据(如红包、折扣)、商品库存等再过滤一批用户
3.4.经过多层过滤最终落到数据库的流量已经很少,最终在数据库层面使用事务扣减库存准确性