Fescar example解析 - TM发送逻辑
开篇
这篇文章的目的主要是理清楚Fescar的TM发送部分的逻辑,从时序图和源码两个层面进行分析。
文章中间会解答两个自己阅读代码中遇到的困惑(估计大部分人看代码的时候也会遇到这个困惑),包括TmRpcClient的初始化过程和配置加载过程。
Fescar example解析 - TC流程
开篇
这篇文章主要是梳理TC处理TM发送消息的过程,由于消息种类较多所以打算额外写篇文章分析,这篇文章主要把进入网络层以后的基本流程梳理下,方便大家阅读源码。
这篇文章的没有针对TM的接收部分进行分析,针对收到报文以后的处理流程。
Fescar TC-beigin流程
开篇
这篇文章是用来讲解清楚TC(Transaction Coordinator:事务协调器)在处理TM发送过来的begin操作(事务开启操作)。
核心逻辑包括GlobalSession对象的生成、GlobalSession的持久化以及XID生成。
Fescar - RM实现原理介绍
开篇
这个系列开始介绍Fescar当中的RM(Resource Manager),RM负责控制分支事务,负责分支注册、状态汇报,并接收事务协调器的指令,驱动分支(本地)事务的提交和回滚。
Fescar RM介绍
说明:
RM负责注册分支事务并上报分支事务状态。
Fescar - RM ExecuteTemplate介绍
开篇
这篇文章的目的是介绍Fescar的RM模块中的ExecuteTemplate的代码,ExecuteTemplate作为StatementProxy当中真正执行SQL操作的模块,在Proxy和Executor的串联中起到承上启下的作用。
Fescar - RM Executor执行过程介绍
开篇
这篇文章的目的是介绍ExecuteTemplate中调用的Executor的执行过程。
Executor的类图
说明:
BaseTransactionalExecutor提供解析SQL语句获取元数据的功能。
Fescar - RM AbstractDMLBaseExecutor介绍
开篇
这篇文章的目的是讲解RM Executor模块当中一些通用的方法,这些方法在各个Executor的父类当中实现的,各个子类Executor模块都会复用,因此抽取出来统一的进行讲解。
个人是认为抽取通用的内容放在一篇文章讲解完后可以针对每类Executor讲解特有的功能,这样能够有更好的理解。
Fescar - RM SelectForUpdateExecutor介绍
开篇
这篇文章的目的是讲解RM Executor模块当中一些通用的方法,这些方法在各个Executor的父类当中实现的,各个子类Executor模块都会复用,因此抽取出来统一的进行讲解。
个人是认为抽取通用的内容放在一篇文章讲解完后可以针对每类Executor讲解特有的功能,这样能够有更好的理解。