消息队列如何保持数据一致性

发布于 2022-09-12 01:23:30 字数 243 浏览 23 评论 0

比如说现在有个场景:用户下订单,涉及到2个系统,订单系统和库存系统,2个系统通过消息队列会话。
订单系统会新增一条订单记录,然后通知消息到队列,库存系统消费队列里的消息然后去减库存操作。
现在我的问题是:如果订单系统没有问题,但是库存系统减库存的时候没有成功,这个时候应该怎么办?
微信截图_20200307094815.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

删除会话 2022-09-19 01:23:30

你业务需要对于强一致性的容忍度如何?建议的几种补偿方式:

  1. 【容忍度大】增加重试机制,报错后即时触发报警,持久化错误的消息,人工介入修复
  2. 【容忍度小】利用分布式事务,比如可以使用tcc(https://www.cnblogs.com/jajia...),实现失败后的回滚(即补偿)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文