Seata解析-TC端重要类及其之间的关系图

x33g5p2x  于2021-12-21 转载在 其他  
字(0.6k)|赞(0)|评价(0)|浏览(404)

本文基于seata 1.3.0版本

之前文章介绍了服务端的很多类,本文对这些类做个整理,算是对之前文章的一个总结。
下图是TC端的重点类及其之间的关系。

首先Server类是整个TC端的启动类,Server要去加载创建NettyRemotingServer、DefaultCoordinator、SessionManager。
NettyRemotingServer用于启动Netty,并初始化Netty的责任链,这样可以接收外部请求,五大处理器就是在Netty的责任链中使用,Netty接收到请求后,根据请求类型分发给这五个处理器中的某一个,之后处理器在将请求转发给DefaultCoordinator。
DefaultCoordinator也是在Server中创建并完成初始化,它主要接收五大处理器转发过来的请求,DefaultCoordinator再去调用核心处理类DefaultCore,从图上看到DefaultCore后面还有ATCore,ATCore其实相对于对DefaultCore在AT模式下的扩展。ATCore根据客户端请求回去完成全局事务和分支事务注册更新等。
SessionManager用于管理事务,所有的事务数据都需要在SessionManager里面保存,而且它还负责管理事务的提交、回滚、超时等。SessionManager有四种不同角色类型的管理器,分别管理不同场景的事务。

相关文章