seata

2024/01/11 分布式事务 共 627 字,约 2 分钟
闷骚的程序员

1. 什么是seata?

Seata是阿里开发的一款开源的分布式事务解决方案,旨在解决分布式系统中复杂的分布式事务问题。
在本地事务中,事务必须具备ACID特性。当应用节点被分布式部署到不同机器节点上时行为分布式微服务后,各个节点之间的本地事务就必须确保在整个分布式系统中保证事务的ACID特性。
这在实现中相对比较复杂,因为要想让分布式应用的事务像本地事务一样,实现起来复杂度较高。

2. Seata提供四种事务模式

Seata的目标是提供一站式的分布式事务解决方案,最终会提供四种分布式事务模式:

  • AT模式
  • TCC模式
  • Saga模式
  • XA模式

各个企业使用seata的流行度分别是:AT>TCC>Saga。
因此在学习seata时,应该将主要的精力放在AT模式上。

3. Seata提供的三种角色

在Seata的架构中,总共有三种角色:

  • Transaction Coordinator(TC):事务协调者,seata的服务端,维护全局事务以及对应的分支事务,始终和TC、RM保持交谈,统筹全局,统一驱动TC和RM执行全局事务和注册的分支事务的提交和回滚等。
  • Transaction Manager(TC):全局事务管理器,负责管理整个微服务链路上的全局事务,具体用于推动全局事务的commit或者rollback等。
  • Resource Manager(RM):资源管理器,负责各个分支事务的管理,与事务协调器负责交谈注册分支事务、获取分支事务状态,以及驱动分支事务的提交或者回滚等。

文档信息

Search

    Table of Contents