微服务seata解决分布式事务的XA&AT的区别

XA&AT的区别

XA第一阶段的工作是:RM注册分支事务到TC,执行分支业务SQL但不提交,报告执行状态到Tc;
  第二阶段的工作是:TC检测各分支事务事务执行状态;RM接收TC指令,提交或回滚事务;
            (如果都成功就会通知所有的rm提交事务)(如果都失败就会通知所有的rm回滚事务);


AT第一阶段:rm注册分支事务,记录undo-log,执行业务SQL并提交,报告事务的状态;
   第二阶段:提交rm的工作,删除undo-log;或者回滚rm的工作,根据undo-log恢复数据到更新前;

AT与XA模式的最大区别是:
XA模式一阶段所有的分支执行SQL;第二阶段提交或回退分支事务;
    依赖数据库机制实现回滚;具有强一致性,性能相对差;
AT模式一阶段所有的分支执行并提交SQL(同时seata会备份旧的数据);第二阶段如果第一阶段有失败的事务则回滚,如果都成功则删除undo-log记录;
    利用数据快照实现数据回滚,性能好,最终一致;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值