seata原理_seata github

seata原理_seata githubSeata的三大角色 TC (Transaction Coordinator) – 事务协调者 维护全局和分支事务的状态,驱动全局事务提交或回滚。 TM (Transaction Manager) – 事务管理器 定义全局事务的范围:开始全局事务、提交或回滚全局事务。 RM (Resource Ma

Seata的三大角色

TC (Transaction Coordinator) – 事务协调者
维护全局和分支事务的状态,驱动全局事务提交或回滚。
 
TM (Transaction Manager) – 事务管理器
定义全局事务的范围:开始全局事务、提交或回滚全局事务。
 
RM (Resource Manager) – 资源管理器
管理分支事务处理的资源,与TC交谈以注册分支事务和报告分支事务的状态,并驱动分支事务提交或回滚。
 
其中,TC 为单独部署的 Server 服务端,TM 和 RM 为嵌入到应用中的 Client 客户端。

 

在 Seata 中,一个分布式事务的生命周期如下:

seata原理_seata github

 

1.TM 请求 TC 开启一个全局事务。TC 会生成一个 XID 作为该全局事务的编号。XID,会在微服务的调用链路中传播,保证将多个微服务的子事务关联在一起。  当一进入事务方法中就会生成XID , global_table 就是存储的全局事务信息 , 2.RM 请求 TC 将本地事务注册为全局事务的分支事务,通过全局事务的 XID 进行关联。  当运行数据库操作方法,branch_table 存储事务参与者 3.TM 请求 TC 告诉 XID 对应的全局事务是进行提交还是回滚。 4.TC 驱动 RM 们将 XID 对应的自己的本地事务进行提交还是回滚。

 

设计思路:

第一阶段:

seata原理_seata github

 

 

第二阶段:(成功)

seata原理_seata github

 

 

失败:

seata原理_seata github

 

今天的文章seata原理_seata github分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/49705.html

(0)
编程小号编程小号
上一篇 2023-09-02
下一篇 2023-09-02

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注