下单定时检查的优化
RocketMq事务消息
Redis扣减库存优化
分布式锁,存在锁竞争,一个商品对应一个锁。几百个商品同时秒杀,Redis压力巨大。
优化方案: 分布式锁变成本地锁。秒杀服务开始前,由配置中心给每个应用服务实例下发
一个库存数胡亮。然后每次下单,每个服务器只管自己的库存数量。与其他应用服务器完全不进行
库存同步。在各自的内存里扣减库存,然后定时批量扣减Redis里面的总库存。这样就不会有超卖的问题。减少了网络消耗,性能得到提升。
引入的问题: 库存扣减不均衡。少卖了。这种情况是可以接受的。解决的方案有:返场。因为有的下单不支付
这些也是要加入到库存。
技术都是工具,工具的组合才是解决方法之道!