Function msg_advance
Source pub fn msg_advance(status: GlobalStatus, actions: &[BranchStatus]) -> Advance
Expand description
二阶段消息推进决策。
§这个模式解决什么
“本地事务 + 可靠消息” —— 取代 RocketMQ 那类事务消息,不需要 MQ。
流程:prepare 落库 → 业务提交本地事务 → submit。
如果进程在两者之间崩了,TC 会回查业务方(query_prepared)问这单到底成没成。
§没有补偿
msg 只保证“最终一定送达“,分支必须最终成功(幂等 + 无限重试)。
所以正向分支返回 FAILURE 不触发补偿(压根没有补偿分支),
只能重试。真要放弃只能靠 query_prepared 回答 FAILURE 让整单作废。