Seata 的 Transaction Coordinator (TC) 是分布式事务架构中的核心组件之一,它负责管理全局事务的生命周期,包括事务的创建、状态维护以及协调各分支事务的提交和回滚。以下是有关 TC 的详细解析及其配置和使用方法:
1. TC 的核心功能
-
全局事务管理:
- TC 记录全局事务(Global Transaction)的状态,包括开始、提交和回滚。
- 为每个全局事务分配一个唯一的事务 ID(
XID)。
-
分支事务协调:
- TC 维护每个全局事务下的分支事务列表。
- 协调分支事务的注册、提交和回滚。
-
事务状态维护:
- TC 持久化事务状态到数据库,确保分布式事务的可靠性。
-
事务超时与清理:
- 如果全局事务长时间未完成,TC 会主动清理超时事务。
2. TC 的工作流程
-
全局事务的创建:
- Transaction Manager ™ 请求 TC 开启全局事务。
- TC 生成一个唯一的全局事务 ID (
XID)。
-
分支事务的注册:
- Resource Manager (RM) 在执行分支事务前向 TC 注册。
- TC 将分支事务与全局事务绑定。
-
分支事务的状态更新:
- 分支事务完成后,RM 向 TC 报告状态(成功或失败)。
- TC 更新分支事务状态。
-
全局事务的提交或回滚:
- TM 通知 TC 提交或回滚全局事务。
- TC 根据分支事务的状态协调 RM 进行提交或回滚操作。
3. TC 的部署与配置
3.1 环境准备
下载 Seata Server
从 Seata 官方 GitHub 下载最新版本。
配置文件修改
-
registry.conf
配置 Seata 的注册中心和配置中心。示例(Nacos):
registry { type = "nacos" nacos { serverAddr = "127.0.0.1:8848" namespace = "" group = "SEATA_GROUP" } } config { type = "nacos" nacos { serverAddr = "127.0.0.1:8848" namespace = "" group = "SEATA_GROUP" dataId = "seata.properties" } } -
file.conf
配置事务日志存储。示例(数据库):
721



被折叠的 条评论
为什么被折叠?



