秒杀
设计秒杀架构时,我们一般需要遵循
东西不能超卖、
下单成功的订单数据不能丢失、
服务器和数据库不能挂、
尽量别让机器人抢走商品

大流量要注意,出口带宽
PC 网站,首先必须前后端分离,然后静态资源能上 CDN 就上 CDN
动态的请求静态化, 秒杀商品的详情页面变成静态页面,然后再放入 CDN
用户请求尽量拦截在 CDN、静态资源或负载均衡侧,实在不行可以拦截在缓存中
进入下单页
防止(恶意)请求重复提交,
页面 URL 后台动态获取
用户点击下单页的购买按钮直接 disable
订单提交
限定每个用户访问频率:比如每 5 秒下单 1 次。
限定每个 IP 访问频率
把一个时间段内的请求拦截掉一个百分比,或者只允许特定数量的请求进入后台服务器。(这里我们可以使用限流的漏桶或令牌桶算法
商品库存放入缓存 Redis 中
订单写入缓存中
订单批量落库


浙公网安备 33010602011771号