电商项目_秒杀_初步分析
秒杀的特点:
1. 不能超卖,库存要求严格
2. 参加的人越多越好
秒杀的挑战:
- 巨大的瞬间流量
- 热点数据
- 刷子流量:刷子的高频次请求,会挤占正常用户的抢购通道,同时,刷子也获得了更高的秒杀成功率。破获抢购环境。
秒杀初步分析
普通的电商场景,为了提高三高性能,使用的各种手段更多的都是协调各种硬件资源,而秒杀场景,简单的协调硬件资源是不够的,还需要软件更极致的挖掘硬件资源。
商品抢购过程:
一次HTTP调用经过的节点:
和秒杀相关的:
- 秒杀活动数据
- 提供结算页:参与抢购的商品信息
- 下单
秒杀流量隔离
业务隔离:秒杀商户业务上会提前进行准备,技术人员就可以评估处大致流量
系统隔离:⽐较常⻅的实践是对会被流量冲击⽐较⼤的核⼼系统进⾏物理隔离,⽽相对链路末端的⼀些系统,经过前⾯的削峰之后,流量⽐较可控了,这些系统就可以不做物理隔离。
- 秒杀详情页域名独立
- 独立的Nginx负载均衡器
- 独⽴的详情⻚后端服务
⼀般来说,秒杀中流量冲击⽐较⼤的核⼼系统就是秒杀详情⻚、秒杀结算⻚、秒杀下单库存扣减是需要我们重点关注的对象
数据隔离:
数据层的专有部署,需要结合秒杀的场景来设计部署拓扑结构,⽐如 Redis缓存,⼀般的场景⼀主⼀从就够了,但是在秒杀场景,需要⼀主多从来扛读热点数据。