- TM(事务管理器)向TC(事务协调器)申请开启一个全局事务,TC会为这个全局事务生成一个唯一XID。
- XID在微服务调用链路的上下文中传播。
- RM(资源管理器)向TC注册分支事务,接着执行这个分支事务并提交。在这个阶段,RM会解析业务SQL,生成对应的UNDO_LOG记录,这些记录包括了业务数据变更前后的快照(before image和after image),以便在需要时进行回滚。
- 本地事务提交后,RM会将执行结果汇报给TC。
- 如果全局事务中的所有分支事务都提交成功,TC会通知所有RM异步删除UNDO_LOG记录,完成全局提交。
- 如果任何一个分支事务失败,TC会通知所有RM根据UNDO_LOG记录进行回滚,恢复业务数据到变更前的状态,完成全局回滚。