RocketMQ 发送事务消息的整体实现流程
2023-07-11 22:19:41 5 举报
Rocket 发送事务消息的整体流程
作者其他创作
大纲/内容
TransactionMQProducer
Broker
RMQ_SYS_TRANS_OP_HALF_TOPIC
Producer
开启异步线程进行回查
3. 执行本地事务executeLocalTransaction()
1.prepare 发送 half message
DB
4. 提交/回滚事务
A. 获取队列
接收生产者事务消息
C. 根据回查结果确定是 Commit还是 Rollback
TransactionListener
获取队列拉取消息判断是否进行回查更新消费进度
2. 返回 ack
RMQ_SYS_TRANS_HALF_TOPIC
事务处理类
6. deletePrepareMessage() 其实就是把 HALF 中的消息添加到 OP 中,表示已处理
SendMessageProcessor
EndTransactionProcessor
事务消息原本的 Topic
B.检查本地事务checkLocalTransaction
0 条评论
回复 删除
下一页