rabbitMQ异步下单如果在集群的环境下好像也会发生超卖的情况?
来源:8-5 接口限流防刷下

qq_软贱攻城狮_0
2018-03-22
我本来想用rabbitMQ把一系列并行的操作串行化
可以解决超卖的情况
但是如果我是集群的环境下好像也就没办法,因为多台服务器会同时去那MQ种的东西
写回答
1回答
-
若鱼1919
2018-03-23
rabbitMQ不是用来解决超卖的,是解决数据库瞬间压力过大的问题的,有两种情况会导致超卖(1)一个用户同时发出了多个请求,如果不加处理会导致超卖(2)多个用户并发减库存,也会可能导致超卖。对于(1)在数据库表的user_id和goods_id上加唯一索引,保证一个用户只能买一个商品。对于(2)在减库存的sql上加上库存的判断,update count = count - 1 where goods_id= *** and count > 0,这样只有库存足够在可以正常减库存。
00
相似问题