
├── 第1章 关于分布式事务你必须要知道的
│ ├── 1-1 这是Seata源码实战课,更是进击高手的内功心法
│ ├── 1-2 本章概览
│ ├── 1-3 单体架构本地事务
│ ├── 1-4 分布式架构之分布式事务
│ ├── 1-5 分布式解决方案2pc
│ ├── 1-6 分布式解决方案柔性事务TCC
│ ├── 1-7 什么是CAP
│ └── 1-8 什么是base定理
├── 第2章 授人以渔从官网入手看看Seata原理特性
│ ├── 2-1 为什么要选择seata框架去进行学习
│ ├── 2-2 本章概览
│ ├── 2-3 授人以渔从官网入手看看seata框架特性概览
│ ├── 2-4 授人以渔从官网入手看看seata快速入门
│ ├── 2-5 授人以渔从官网入手看看seata写隔离机制
│ ├── 2-6 授人以渔从官网入手看看seata读隔离机制
│ ├── 2-7 授人以渔从官网入手看看seata AT工作机制
│ ├── 2-8 授人以渔从官网入手看看seata TCC工作机制
│ └── 2-9 授人以渔从官网入手看看seata SAGA工作机制和三种优劣势比较
├── 第3章 授人以渔上手跑一跑Seata官网的案例
│ ├── 3-1 本章概览
│ ├── 3-2 授人以渔从官网入手看看seata工程快速上手
│ ├── 3-3 授人以渔从官网入手看看seata示例工程相关seata配置项
│ ├── 3-4 授人以渔从官网入手看看seata示例工程数据库创建和seata server的启动
│ ├── 3-5 授人以渔从官网入手看看seata示例工程从业务代码做了哪些事情
│ ├── 3-6 授人以渔从官网入手跑一跑seata示例工程
│ ├── 3-7 用一张图概览下seata正常示例到底做了哪些事情
│ └── 3-8 用一张图概览下seata异常示例到底做了哪些事情
├── 第4章 从示例工程入手看看整合Seata装配了哪些核心类
│ ├── 4-1 掌握阅读源码能力的必要性
│ ├── 4-2 学习源码的更优方式
│ ├── 4-3 一起看看spring-cloud-starter-alibaba-seata.jar自动装配了哪些类
│ ├── 4-4 一起看看spring-cloud-starter-alibaba-seata.jar自动装配了哪些类(2)
│ ├── 4-5 一起看看spring-cloud-starter-alibaba-seata.jar自动装配了哪些类(3)
│ ├── 4-6 一起看看seata-all.jar下面dubbo是如何传递xid的
│ ├── 4-7 一起看看seata-spring-autoconfigure-client和core装配了哪些类
│ ├── 4-8 一起看看seata-spring-boot-starter.jar核心类简介
│ ├── 4-9 一起看看seata-spring-boot-starter.jar加载了哪些核心类
│ └── 4-10 seata源码下载源码目录功能概览
├── 第5章 一起看看全局事务扫描组件到底做了哪些事情
│ ├── 5-1 本章概览
│ ├── 5-2 GlobalTransactionScanner从实现类和继承的角度干了什么事情
│ ├── 5-3 GlobalTransactionScanner afterPropertiesSet方法主要逻辑
│ ├── 5-4 GlobalTransactionScanner wrapIfNecessary方法主要逻辑
│ └── 5-5 GlobalTransactionalInterceptor拦截器主要做的事情
├── 第6章 一起看看全局事务管理机制底层做了哪些事情
│ ├── 6-1 本章概览
│ ├── 6-2 全局事务开启前奏逻辑处理做了哪些事情
│ ├── 6-3 终于见到全局事务开启的真正入口handleGlobalTransaction
│ ├── 6-4 seata全局事务的提交和异常处理机制
│ ├── 6-5 用一张图概览下GlobalTransactionScanner核心逻辑
│ ├── 6-6 借鉴大牛思想:代理模式在GlobalTransactionScanner体现以及优势
│ └── 6-7 借鉴大牛思想:模版模式在GlobalTransactionScanner体现以及优势
├── 第7章 核心资源管理组件和事务管理组件如何初始化的
│ ├── 7-1 本章概览
│ ├── 7-2 TM组件事务管理器实例化TmNettyRemotingClient
│ ├── 7-3 TM组件事务管理器底层如何跟seata server建立长连接的
│ ├── 7-4 用一张图概览下TMClient端初始化的核心逻辑
│ └── 7-5 用一张图概览下RMClient端初始化的核心逻辑
├── 第8章 一起看看Seata数据源代理后做了哪些事情
│ ├── 8-1 本章概览
│ ├── 8-2 自动装配SeataAutoDataSourceProxyCreator如何包装DataSource的
│ ├── 8-3 seata 本地事务提交undolog如何生成的
│ ├── 8-4 seata client全局锁是如何生成的
│ ├── 8-5 seata AT模式本地事务执行流程
│ └── 8-6 用一张图概览下seata本地事务提交做了哪些事情
├── 第9章 一起看看Seata Server核心组件启动到做了哪些事情
│ ├── 9-1 本章概览
│ ├── 9-2 一起看看seata server启动的时候做了哪些事
│ ├── 9-3 seata server如何开启全局事务(一)
│ ├── 9-4 seata server如何开启全局事务(二)
│ ├── 9-5 用一张图概览下seata server启动流程
│ ├── 9-6 用一张图概览下seata server如何开启全局事务核心逻辑
│ ├── 9-7 修炼内功:结构化思维在生活和代码中的体现
│ └── 9-8 修炼内功:一起看看结构化思维在seata源码中的体现
├── 第10章 一起看看Seata Server核心组件协调事务处理机制
│ ├── 10-1 seata server如何处理分支事务请求(一)
│ ├── 10-2 seata server如何处理分支事务请求(二)
│ ├── 10-3 seata server如何处理分支事务请求(三)
│ ├── 10-4 seata server如何处理分支事务请求(四)
│ ├── 10-5 seata server如何提交全局事务(一)
│ ├── 10-6 seata server如何提交全局事务(二)
│ ├── 10-7 seata client RM角色如何完成数据回滚操作
│ └── …
├── 第11章 一起看看Seata另一种TCC模式怎么玩的
│ ├── 11-1 本章概览
│ ├── 11-2 一起上手看看seata TCC模式是怎么玩的
│ ├── 11-3 一起上手跑一跑TCC模式下的案例
│ ├── 11-4 TCC模式下GlobalTransactionScanner核心类是怎么去代理对象的
│ ├── 11-5 TCC模式下TActionInterceptor方法拦截器分支事务注册逻辑
│ ├── 11-6 TCC模式下如何进行全局事务开启,全局事务提交的
│ ├── 11-7 用一张图概览下TCC模式下源码核心逻辑
│ └── …
├── 第12章 生单链路整合Seata AT模式
│ ├── 12-1 本章概览
│ ├── 12-2 基础工程脚手架搭建(一)
│ ├── 12-3 基础工程脚手架搭建(二)
│ ├── 12-4 基础工程脚手架搭建(三)
│ ├── 12-5 基础工程脚手架搭建(四)
│ ├── 12-6 分布式场景下复现订单链路数据不一致性
│ └── …
├── 第13章 生单链路整合Seata TCC模式
│ ├── 13-1 商品库存系统seata TCC模式架构设计
│ ├── 13-2 异构存储库存双写逻辑代码实现
│ ├── 13-3 TCC异构数据库库存扣减第一阶段实现
│ ├── 13-4 TCC异构数据库库存扣减第二阶段实现
│ ├── 13-5 TCC异构redis库存扣减第一阶段实现
│ └── …
└── 第14章 生单链路整合Seata SAGA模式
├── 14-1 下单链路场景引入saga模式分析
├── 14-2 saga状态机核心文件编排
├── 14-3 履约系统saga调度代码实现逻辑
├── 14-4 用一张图梳理下saga状态机原理
├── 14-5 saga模式空悬挂 空回滚 幂等性的问题
└── 14-6 上手跑一跑履约系统saga模式