Skip to main content

msg_advance

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 让整单作废。