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回滚数据


剣藤犬个
1 声望1 粉丝