RocketMQ原理解析-producer 4.发送分布式事物消息


http://blog.csdn.net/quhongwei_zhanqiu/article/details/39142389


先引入官方文档图:

RocketMQ原理解析-producer 4.发送分布式事物消息


分布式事物是基于二阶段提交的

1)      一阶段,向broker发送一条prepared的消息,返回消息的offset即消息地址commitLog中消息偏移量。Prepared状态消息不被消费

发送消息ok,执行本地事物分支, 本地事物方法需要实现rocketmq的回调接口2)2)2) LocalTransactionExecuter,处理本地事物逻辑返回处理的事物状态LocalTransactionState

3)  二阶段,处理完本地事物中业务得到事物状态, 根据offset查找到commitLog中的prepared消息,设置消息状态commitType或者rollbackType, 然后将信息添加到commitLog中, 其实二阶段生成了两条消息



事物消息发送

RocketMQ原理解析-producer 4.发送分布式事物消息