Seata --AT模式+TCC模式

Seata是一款开源的分布式事务解决方案,本文详细介绍了Seata的AT和TCC两种事务模式。AT模式通过两阶段提交管理全局事务,无侵入地处理分布式事务;TCC模式则对业务代码有较大侵入,但效率更高,允许并发操作。
摘要由CSDN通过智能技术生成

1.Seata介绍

Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,

2. Seata AT事务方案

Seata AT事务方案
Seata 的 AT 模式(Automatic Transaction)是一种无侵入的分布式事务解决方案。
在这里插入图片描述
1.订单系统保存订单
2.订单系统调用库存服务,减少商品库存
3.订单系统调用账户服务,扣减用户金额

这三步要作为一个整体事务进行管理,要么整体成功,要么整体失败。

2.1 Seata AT基本原理

Seata AT 事务分两个阶段来管理全局事务:
第一阶段: 执行各分支事务
第二阶段: 控制全局事务最终提交或回滚

2.2 第一阶段:执行各分支事务

**TC事务协调器:**感知事务是否执行成功,来协调各个服务的运行状态。
**TM事务管理器:**向 TC 申请开启一个全局事务,收集各分支事务的运行状态,抉择向TC全局事务成功(提交)或失败(回滚)的请求
**RM资源管理器:**对分支事务进行管理, 向 TC 注册分支事务,并与 TC 通信,上报分支事务的执行状态、接收全局事务的提交或回滚指令。

订单系统开始执行保存订单之前,首先启动 TM,由 TM 向 TC 申请开启一个全局事务,这时TC会产生一个全局事务ID,称为 XID,并将 XID 传回 TM,这样就开启了全局事务!在这里插入图片描述
开始执行创建订单的业务。首先执行保存订单,这时会先启动一个 RM(Resource Manager,资源管理器),并将 XID 传递给 RM。

RM 首先会使用 XID 向 TC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值