Seata分布式事务

是什么?

开源的分布式事务解决方案-------@GlobalTransactional

组成?

TC:事务协调器,管理全局的分支事务的状态,用于全局性事务的提交和回滚。

TM:事务管理器,用于开启、提交或者回滚全局事务。

RM:资源管理器,用于分支事务上的资源管理,向TC注册分支事务,上报分支事务的状态,接受TC的命令来提交或者回滚分支事务。

执行流程?

1.TM向TC申请开启一个全局事务,全局事务创建成功并生成一个全局唯一的XID。

2.XID在微服务调用链路的上下文之间传播。

3.RM向TC注册分支事务,将其纳入XID对应全局事务的管辖。

4.TM向TC发起针对XID的全局提交或者回滚决议。

5.TC调度XID下管辖的全部分支事务完成提交或者回滚请求。

默认支持的AT模式,分为2个阶段?

1.一阶段,拦截到业务SQL,执行SQL之前保存一份原始数据(before image);执行SQL之后保存一份最新数据(after image)。最后生成行锁,保证了一阶段操作原子性。

2.二阶段,如果是顺利提交的话,将一阶段保存的快照数据和行锁删除。

3.二阶段,如果是回滚的话,还原原始数据;但是还原之前要校验脏写,对比数据库当前数据和after image是否一致,一致就可以还原数据,不一致说明有脏写,需要转人工处理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值