Seata 是一款开源的分布式事务解决方案,它的架构核心由三个重要的组件构成:TC、TM 和 RM。理解这三个组件的作用以及它们之间的交互流程,是掌握 Seata 分布式事务原理的关键。 以下是详细的解析: --- 一、 三大核心组件的作用 1. TC (Transaction Coordinator) - 事务协调者 角色定位:“总指挥”。它是 Seata 的 Server 端,是一个独立部署的服务(通常会做集群高可用)。 核心作用: 维护全局事务和分支事务的状态。 负责协调并驱动全局事务的提交(Global Commit)或回滚(Global Rollback)。 生成全局唯一的事务 ID(XID)。 2. TM (Transaction Manager) - 事务管理器 角色定位:“发起者 / 项目经理”。它是嵌入在微服务客户端(Client 端)的组件,通常存在于发起全局事务的那个微服务中(例如电商系统中的“订单服务”)。 核心作用: 定义全局事务的边界(即从哪里开始,到哪里结束)。 向 TC 申请开启一个全局事务。 根据业务代码的执行结果(成功或抛出异常),向 TC 发...