- 0
- 0
- 约小于1千字
- 约 1页
- 2026-08-12 发布于北京
- 举报
《149_Redis主节点时没及时同步导致的库存超卖问题》
如果基于redis来做秒杀抢购,rediscluster,master-slave主从同步架构,而且是异步
的,此时如果说redismaster节点宕机了,还没来得及把库存抢购扣减的操作同步到slave
去,此时slave切换为master,导致了库存超卖
库存只有100件,结果有101个人抢购成功了,这个问题就是redis异步导致的库存超
卖的问题,除非你改造redis源码,把异步做成同步,任何一个抢购请求在master
执行完毕,必须从master到slave,才能认为是成功
首先,这个问题是小概率的问题,redismaster宕机本身是小概率问题,如果你对这个问题
不处理,很多时候公司线上系统也不会对这个问题进行处理,出故障是个小概率的,可
能redis集群跑几年都不会出现这样的问题
两个方案:redis主从同步取消,只有master,把rediscluster,就用最普通的redis部署几
台机器,然后可以用twem中间件或者是codis对几器上的redis做分布式数据存
储和路由,取消slave这个概念
一点任何一台机器宕机,
原创力文档

文档评论(0)