01-Seata的体系结构

发布时间:2024年01月22日

1、领域模型

  • TC (Transaction Coordinator) - 事务协调者?
  • 维护全局和分支事务的状态,驱动全局事务提交或回滚。
  • TM (Transaction Manager) - 事务管理器
  • ?定义全局事务的范围:开始全局事务、提交或回滚全局事务。
  • RM (Resource Manager) -资源管理器?
  • 管理分支事务处理的资源,与TC交谈以注册分支事务和报告分支事务的状态,并驱动分支事务提交或回滚。

2、处理过程

1.TM请求TC开启一个全局事务,TC会生成一个XID作为该全局事务的编号,XID会在微服务的调用链路中传播,保证将多个微服务的子事务关联在一起;
2.RM请求TC将本地事务注册为全局事务的分支事务,通过全局事务的XID进行关联;
3.TM请求TC告诉XID对应的全局事务是进行提交还是回滚;
4.TC驱动RM将XID对应的自己的本地事务进行提交还是回滚

3、TC存储模式

file模式:适合单机模式,全局事务会话信息在内存中读写,并持久化本地文件 root.data,性能较高;
db模式:适合集群模式,全局事务会话信息通过 db 共享,相对性能差点;
redis模式:解决db存储的性能问题,存在数据丢失情况。
在这里插入图片描述

文章来源:https://blog.csdn.net/xcg340123/article/details/135740302
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。