RocketMQ 事务消息:half、回查与全时序
2026/8/22大约 2 分钟
分布式事务系列 · 阶段 4 · 消息一致性 · 第 33/49 篇 · 🚧 占位待学
上一篇:《本地消息表:同库同事务是灵魂》
下一篇:《消费端幂等:至少一次 + 去重 = 恰好一次》
学习大纲:《分布式事务学习总纲》
状态:待学习。 本文为占位文档:知识点清单、实验与验收标准已就绪,正文待按「先学习、先实验、再撰写」补全。
对应总纲单元:阶段 4A · 单元 4A.3
一、本文要解决的问题
RocketMQ 怎么把 outbox 内置进 broker?half message、本地事务、回查四个环节怎么咬合成不丢不漏?
二、知识点清单
- half message:先对消费者不可见的半消息
- 本地事务执行后 commit / rollback 半消息
- 回查机制:broker 定时回查未决事务(transactionListener)
- 事务消息与本地消息表的等价性对比(谁承担 outbox 角色)
三、动手实验(学习时必须真跑)
- 用 RocketMQ 5.x 事务消息重写「注册-发券」
- 在本地事务里 sleep 模拟超时,观察 broker 回查日志与最终投递
四、验收标准(全部通过才进入下一篇)
五、写作提示(补正文时遵守)
- 开篇问题驱动;结构走「是什么 → 为什么 → 怎么做 → 背景知识」
- 所有代码、命令、输出必须先在本机跑通再写入,不得杜撰
- 版本口径以总纲环境清单为准(Apache Seata 2.6.0 / MySQL 8.0 / RocketMQ 5.x / Spring Boot 3.x)
- 涉及版本敏感结论时标注出处与时间
本篇完成后,把文首导航块的「🚧 占位待学」去掉,并在总纲处打卡。