Seata 简介
Seata 的前身 Fescar 刚开源的时候,就看过相关的文章和代码,代码写得很好,我还在另一个自己的项目中,借鉴了它的很多设计风格。最近想总结一篇关于分布式事务的文章,所以就想以 Seata 为中心,围绕它来细述分布式事务的点点滴滴。本文作为该系列文章的开篇,先简单地介绍一下 Seata 的背景和使用方式。
Fescar example解析 - TM流程
背景
Fescar 是 阿里巴巴 开源的 分布式事务中间件,以 高效 并且对业务0侵入的方式,解决微服务场景下面临的分布式事务问题,介绍可以参考Fescar介绍。
Fescar example解析系列主要是通过阅读Fescar的example源码梳理Fescar的整体逻辑,偏重于整体流程的梳理,让大家在整体上能够有一个宏观了解。
Fescar example解析 - TC流程
开篇
这篇文章主要是梳理TC处理TM发送消息的过程,由于消息种类较多所以打算额外写篇文章分析,这篇文章主要把进入网络层以后的基本流程梳理下,方便大家阅读源码。
这篇文章的没有针对TM的接收部分进行分析,针对收到报文以后的处理流程。
分布式事务中间件Fescar—全局写排它锁解读
一般,数据库事务的隔离级别会被设置成 ***读已提交***,已满足业务需求,这样对应在Fescar中的分支(本地)事务的隔离级别就是 读已提交,那么Fescar中对于全局事务的隔离级别又是什么呢?如果认真阅读了 分布式事务中间件Fescar-RM模块源码解读 的同学...
Fescar - RM Executor执行过程介绍
开篇
这篇文章的目的是介绍ExecuteTemplate中调用的Executor的执行过程。
Executor的类图
说明:
BaseTransactionalExecutor提供解析SQL语句获取元数据的功能。
Fescar - RM AbstractDMLBaseExecutor介绍
开篇
这篇文章的目的是讲解RM Executor模块当中一些通用的方法,这些方法在各个Executor的父类当中实现的,各个子类Executor模块都会复用,因此抽取出来统一的进行讲解。
个人是认为抽取通用的内容放在一篇文章讲解完后可以针对每类Executor讲解特有的功能,这样能够有更好的理解。