常见的电商中都会存在秒杀业务,下面我们针对秒杀业务做分析设计:
痛点:针对痛点进行设计
- 瞬间并发量大,大量用户会在同一时间进行抢购,网站瞬时流量激增
- 库存有限,访问请求数据量远大于库存数量,只有少部分用户能够秒杀成功。
- 不能超卖。
我们需要对秒杀业务的各个层面进行设计:
前端访问页面:
- 秒杀商品页面静态化,也就是放到CDN,减轻服务端处理静态资源的压力。
- 活动前禁用按钮
- 点击后禁用按钮
- 也可以增加滑动验证码,防止羊毛党
- 页面上增加正在排队体验,不然用户可能不断进行秒杀
负载均衡层:多层负载均衡
F5/LVS -> Nginx集群(每台nginx大概2~3万的并发) -> 服务网关 ->秒杀服务
nginx做限流防止羊毛党,爬虫,恶意的dos攻击。
服务网关也可以设置限流熔断
秒杀服务层:
- 通过MQ进行削峰填谷,防止流量激增对下游的压力
- 秒杀商品信息,库存信息预热到redis中
运维支持: docker + k8s ,支持动态伸缩的功能,根据需要增加或者减少秒杀服务节点的数量
标签:服务,限流,秒杀,设计,电商,页面 From: https://www.cnblogs.com/gaogao66/p/18429157