分布式事务模型

分布式事务型消息队列原理如下:

  1. 发送方(必须有分组,将同类的发送方定义为一组)将半事务消息发送至消息队列分布式事务型消息队列服务端。
  2. 服务端将消息持久化成功之后,向发送方返回 Ack 确认消息已经发送成功,此时消息为半事务消息,消费者订阅不到此类消息。
  3. 生产者开始执行本地事务逻辑,本地事务逻辑可以是一个或者多个。
  4. 生产者根据本地事务执行结果向服务端提交事务确认(Commit 或是 Rollback),服务端收到 Commit 类型的事务确认则将半事务消息标记为可投递,消费者最终将收到该消息;但是服务端收到 Rollback 类型的事务确认则删除半事务消息,订阅方将不会接受该消息。

        上述描述的是分布式事务型消息队列的正向流程,实际上生产者可能出现问题,网络也不能保证100%可用,将导致图示中的第六步无法被执行,等到经过一段时间后,分布式事务型消息队列会触发事务超时反查,优先向原有的生产者发起超时查询,在原有生产者无法被查询前提下,将向原有生产者同组的其他生产者发起状态查询,最终必须确保该半事务消息最终有确认状态。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值