RocketMQ事务消息

RocketMQ4.3.0开始支持事务消息

RocketMQ事务消息的实现原理基于两阶段提交和定时事务状态回查来决定消息最终是提交还是回滚。

事务消息整个流程:

  1. 发送方将半事务消息(prepare消息)发送到RocketMQ的Broker端。
  2. Broker将消息持久化成功后,返回ACK到发送方。
  3. 发送方执行本地事务。
  4. 发送方根据本地事务执行结果,向Broker提交二次确认Commit/Rollback。若Broker收到Commit则将半事务消息标记为可投递,订阅者就会收到消息;若Broker收到Rollback则删除半事务消息,订阅方将者不会收到消息;
  5. 若Broker出现异常未收到二次确认消息,会定时向发送方发起消息回查,发送方收到消息回查后检查本地事务执行结果,然后继续第4步流程。如果超过最大回查此时还未得到事务结果,Broker默认Rollback此消息。

图片来自:https://help.aliyun.com/document_detail/43348.html?spm=a2c4g.11186623.6.556.6ac52a2cpp0ruc 

原理详情:https://blog.csdn.net/qq_32828253/article/details/110098041

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值