#1 秒杀背景
#2 秒杀业务概要
秒杀分为6步:
1.首页商品列表浏览->商品详情查看->抢购(抢到资格token)->下单->支付->消费、确认收货
2.还有取消订单,退款等操作
#3 秒杀技术概要
1.关键字:限流、缓存、异步下单及订单队列、返库存、页面静态化
2.限流:机器级别(CPU)限流、应用级别限流(容器当前服务请求数)、IP攻击限流(相同IP参与秒杀次数)、H5本地缓存秒杀结果
3.缓存:使用redis作为缓存(参与秒杀商品库存缓存)、H5本地缓存(保存用户秒杀结果)
4.异步下单:用户下单请求进入队列,前台轮询下单结果(下单成功或失败)
5.订单队列:使用redis数据结构list作为队列(也可以使用activemq,为了方便,使用redis的list作为队列)
6.返库存:本次秒杀抢购减缓存库存 和 采用下单减数据库库存、最后支付的方式,如果抢购后15分钟不下单,返缓存库存;如果下单后15分钟不支付,返缓存库存+数据库库存
7.页面静态化:商品列表页、详情页静态生成,放在nginx上
#4 秒杀上线
上线后正常流程能通,但是出现了许多问题:
1.返库存问题 导致 缓存库存和数据库库存不一致
2.H5本地缓存使用不当问题 导致 抢购资格不正确
#5 秒杀总结