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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!