Seata的AT模式为两阶段提交模式,阶段一本地事务执行并提交,将操作前后数据记录到数据库的undo-log,阶段二若全部事务执行成功删除undo-log,有分支事务执行失败则根据undo-log恢复数据到更新前的状态。具体执行流程如下:
阶段一:
1.TM(事务管理器)通知TC(事务协调器)开启全局事务
2.TM调用RM开启分支事务
3.RM向TC注册分支事务
4.RM执行分支事务sql并提交,同时将操作前后的数据快照记录至准备好的undo-log表
5.分支事务向TC报告执行状态
阶段二
1.TM通知TC事务结束
2.TC检查各分支事务的执行状态
3.
所有分支事务全部执行成功时,TC通知RM删除undo-log,全局事务提交完成
有分支事务失败时,TC通知已执行成功的RM根据undo-log回滚数据
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。