基于RabbitMQ消息中间件实现分布式事务

分布式事务问题

在这里插入图片描述

引入RabbitMQ

使用MQ

优点:通用性强,扩展性强,方案成熟
缺点:基于MQ实现,只适合异步场景;消息处理会有延时,需要业务上能够容忍;

在这里插入图片描述

步骤一:可靠消息生产-记录消息发送

在这里插入图片描述

步骤二:可靠消息生产-修改消息发送状态

在这里插入图片描述

步骤三:可靠消息处理-正常处理

在这里插入图片描述

步骤四:可靠消息处理-消息重发

在这里插入图片描述

步骤五:可靠消息处理-消息丢弃

在这里插入图片描述

分布式事务解决方案:

基于数据库XA/JTA协议的方式:需要数据库厂商支持,JAVA组件有atomikos等
异步校对数据的方式:支付宝、微信支付主动查询支付状态,对账单的形式
基于可靠消息(MQ)的解决方案:异步场景,通用性较强,扩展性高
TCC编程式解决方案:BAT等大厂自己封装的DTX
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值