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,这样只有库存足够在可以正常减库存。

0
0

Java秒杀系统方案优化 掌握海量访问通用解决方案

各种缓存/JSR303参数检

2695 学习 · 941 问题

查看课程