Seata简介
简介 Seata 是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。支持AT、TCC、SAGA、XA四种模式,对微服务框架支持友好。 如下图所示,Seata 中有三大模块,分别是 TM、RM 和 TC。 其中 TM 和 RM 是作为 Seata 的客户端与业务系统集成在一起,TC 作为 Seata 的服务端独立部署。 TC - 事务协调者 维护全局和分支事务的状态,驱动全局事务提交或回滚。 TM - 事务管理器 定义全局事务的范围:开始全局事务、提交或回滚全局事务。 RM - 资源管理器 管理分支事务处理的资源,与TC交谈以注册分支事务和报告分支事务的状态,并驱动分支事务提交或回滚。 在 Seata 中,分布式事务的执行流程: TM 开启分布式事务(TM 向 TC 注册全局事务记录); 按业务场景,编排数据库、服务等事务内资源(RM 向 TC 汇报资源准备状态 ); TM 结束分布式事务,事务一阶段结束(TM 通知 TC 提交/回滚分布式事务); TC 汇总事务信息,决定分布式事务是提交还是回滚; TC 通知所有 RM 提交/回滚 资源,事务二阶段结束; AT模式 AT 模式是一种无侵入的分布式事务解决方案。在 AT 模式下,用户只需关注自己的“业务 SQL”,用户的 “业务 SQL” 作为一阶段,Seata