秒杀场景,异步扣减库存解决超卖的问题

1、限流
2、将库存放到redis中、接收用户请求的时候。从redis取库存,判断库存量是否大于本次订单购买量
库存大于本次购买量:扣减redis中的库存、并且将订单信息推送到MQ;
库存小于本次购买量:直接返回、数量不足。
3、MQ消费者获取消息:
1):更新数据库库存(乐观锁)
2):生成订单信息,扣除用户账户的订单金额(余额不足的话、将本次购买量加回到库存里)
3):异步通知用户购买结果。

Redis只是解决性能问题,数据库才是解决库存一致性问题
---------------------
作者:慢悠悠的丑小鸭
来源:CSDN
原文:https://blog.csdn.net/qq_20264581/article/details/84137679
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自www.cnblogs.com/ExMan/p/10272874.html