分布式事务(三)—Seata AT模式

本文详细介绍了阿里开源的分布式事务框架Seata的AT模式,包括其工作流程、数据隔离性和总结。Seata的AT模式适用于多数业务场景,提供无侵入性的事务处理,通过AOP实现事务协调,简化开发者的工作。文章还讨论了Seata在数据一致性、事务隔离级别以及与其他框架如Dubbo的集成。
摘要由CSDN通过智能技术生成
前言

我们在之前所介绍的一些分布式事务的理论,是需要通过具体的框架工程化的,这样才能在我们日常工作中使用。

常见的开源分布式事务框架很多,比如: Seata、EasyTransaction等等。我们在这篇文章将会介绍阿里开源的分布式事务框架Seata。

Seata这个分布式事务框架支持有多种模式,如: AT、TCC、SAGA、XA。除了AT,后面三种分布式事务模式的大致流程,我们在之前的文章中有介绍过。

Seata的模块组成

1)TM:事务发起者。定义事务的边界,负责告知 TC,分布式事务的开始,提交,回滚。

2)RM:资源管理者。管理每个分支事务的资源,每一个 RM 都会作为一个分支事务注册在 TC。

3)TC :事务协调者。负责我们的事务ID的生成,事务注册、提交、回滚等。

在Seata的AT模式中,TM和RM都作为SDK的一部分和业务服务在一起,我们可以认为是Client。TC是一个独立的服务,通过服务的注册、发现将自己暴露给Client们。

工作流程

我们用一个比较简单的业务场景来描述一下Seata AT模式的工作过程。

有个充值业务,现在有两个服务,一个负责管理用户的余额,另外一个负责管理用户的积分。

当用户充值的时候,首先增加用户账户上的余额,然后增加用户的积分。

AT流程分为两阶段,主要逻辑全部在第一阶段,第二阶段主要做回滚或日志清理的工作。其中,第一阶段流程如下:

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值