RocketMQ分布式事务

42次阅读

共计 428 个字符,预计需要花费 2 分钟才能阅读完成。

原理描述

生产者向 broker 发送一条未经 commit 不可消费的事务性消息(半消息)。如果发送成功返回 SEND_OK,则执行本地事务,执行成功则 commit,commit 过的消息可正常被服务端消费。执行失败则 rollback,rollback 的消息则被删除。还有一种情况,就是 broker 没有收到确认消息,则会回查本地事务的状态,看是 commit,还是 rollback。

演示过程

请求 http://localhost:8080/callback/transaction?text=888&param=1

正常被消费


请求 http://localhost:8080/callback/transaction?text=888&param=2

被回滚掉


请求 http://localhost:8080/callback/transaction?text=888&param=7

回查事务状态

项目 github 地址

https://github.com/Nirvana010…

正文完
 0