rabbitmq mysql事务_RabbitMq解决分布式事务

1、分布式事务的常用解决方案

(1)、基于数据库XA/JTA协议的方式;(需要数据库厂商的支持;java组件有atomikos等)

(2)、异步校对数据的方式;(支付宝、微信支付主动查询支付转态、对账单的形式)

(3)、基于可靠消息(MQ)的解决方案;(异步场景;通用性强;拓展性较高)

(4)、TCC编程式解决方案。(严选、阿里、蚂蚁金服自己封装的DTX)

2、使用rabbitmq解决分布式事务

(1)、整体设计思路

44bc57daad45ca81fdf08c08353074a2.png

要求:①、可靠生产:保证消息一定要发送到rabbitmq服务中

②、可靠消费:保证消息取出来一定正确消费掉。

最终多方数据达到一致性。

71a5600933808fb40f934faee017f574.png

43929d4eb4a8b1eca24fc82f76f5d655.png

发送消息到rabbitmq之后的回调方法修改消息发送的状态

设置发送成功的回调配置:s

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值