分布式事务中间件 Seata

简介

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

术语

  • 事务协调者(Transaction Coordinator,TC):维护全局和分支事务的状态,驱动全局事务提交或回滚。

  • 事务管理器(Transaction Manager,TM):定义全局事务的范围,开始全局事务、提交或回滚全局事务。

  • 资源管理器(Resource Manager,RM):管理分支事务处理的资源,与 TC 交谈以注册分支事务和报告分支事务的状态,并驱动分支事务提交或回滚。

领域模型

Overview of a global transaction

如上图所示,Seata 中事务生命周期主要分为 BeginTM、RegistryRM、Commit/RollbackTM & TC这三部分。

事务管理者TM通过 rpc 至事务协调者TC创建全局事务Global Transaction,将 TC 生成的 XID 传递至其 TM 所调用的任意资源管理者RM中,RM 通过其接收到的 XID,将其所管理的资源且被该调用锁使用到的资源注册为一个事务分支Branch Transaction,当该请求的调用链全部结束时 TM 将事务的决议结果Commit/Rollback通知 TC,TC 将协调所有 RM 进行事务的二阶段动作。

Last updated