采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师我在网上学习rabbitmq应用场景时候提出了一个双十一的解决方案,用户下单后直接返回下单成功,然后把减库存的操作交给消息队列,那么我有个疑问如果减库存失败就会出现用户下单成功,库存不减少问题,数据不同步???这个怎么解决呢?
你好,你这个肯定是有什么前提你没注意吧,要么会在前端提示可能会失败,要么就是库存无限,否则肯定有问题。我认为你看的文章可能只是下单请求已经提交成功吧,之后异步处理,等订单处理成功或失败,再通知给用户。
老师,这个文章是这么介绍的, 订单系统:用户下单后,订单系统完成持久化处理,将消息写入消息队列,返回用户订单下单成功。 库存系统:订阅下单的消息,获取下单消息,进行库操作。 就算库存系统出现故障,消息队列也能保证消息的可靠投递,不会导致消息丢失(马云这下高兴了). 他后面这里就蒙了
我理解这里就是生成了订单,然后发消息异步去处理,但是状态并没有推进到终态,后续可能成功,也可能失败。比如我们现在去网上买机票什么的,都是直接返回下单成功,之后正常能出票就购买成功了,不能正常出票就返回无座什么的。过程中,用户不停的刷新,看到的都是中间的状态,最终处理完,就是用户看到的终态。
谢谢老师,这么晚耐心的回答问题
登录后可查看更多问答,登录/注册
构建完整并发与高并发知识体系,倍增高薪面试成功率!
1.7k 1
1.1k 18
1.2k 15
3.6k 12
1.2k 12