getfromcode后端开发 会员免费

慕课网-一课学透 分布式事务框架 Alibaba Seata【完结】

这门课要解决的核心问题 在单体应用中,一次业务操作通常只涉及一个数据库连接,事务边界清晰,出现异常时依靠本地事务就可以回滚。但当业务被拆分为订单、库存、账户等多个服务后,一次下单可能同时修改多个数据库,任何一个服务失败,都可能留下“订单已创建、库存未扣减”或“余额已变化、支付状态未更新”的中间状态。

单课价¥29.90新品 上架
会员价 会员免费开通会员,全站课程按额度无限下载套餐详情
4 人关注 更新于 2026-09-23 永久有效
发货

网盘链接 · 支付成功后自动发货

保障

永久有效 · 链接失效免费补发

客服

每日 9:00-21:00 在线客服 联系客服

支付成功后自动发货,可在「我的订单」查看网盘链接;链接失效可联系客服免费补链。

正版保障 极速发货 售后无忧

这门课要解决的核心问题

在单体应用中,一次业务操作通常只涉及一个数据库连接,事务边界清晰,出现异常时依靠本地事务就可以回滚。但当业务被拆分为订单、库存、账户等多个服务后,一次下单可能同时修改多个数据库,任何一个服务失败,都可能留下“订单已创建、库存未扣减”或“余额已变化、支付状态未更新”的中间状态。传统的本地事务无法跨越服务边界,靠重试、补偿或人工修复又容易形成大量边界问题。

这门课围绕 Alibaba Seata 展开,重点不是停留在注解配置和简单示例,而是解释分布式事务协调过程中各个角色如何配合。课程会从分布式事务的基本概念进入,再结合 Seata 的 AT、TCC 两种模式,分析事务发起方、资源参与方和协调服务之间如何注册、分支、提交与回滚。对于需要在真实后端项目中处理跨服务一致性的开发者,这些内容能够帮助你判断某种方案适合什么场景,而不是把框架当成一个只会添加依赖的黑盒组件。

从源码和运行链路理解 Seata

Seata 的难点并不只是 API 数量,而是一次全局事务背后存在多层调用链。业务服务发起全局事务后,事务上下文需要在服务调用之间传播,分支事务需要向协调端登记,资源管理器要记录本地执行状态,协调器还要根据全局结果通知各参与者提交或回滚。课程会把这些概念放回实际运行链路中,通过源码梳理核心组件的职责、启动过程以及事务处理机制。

这种学习方式适合用来建立框架级排查思维。例如遇到事务没有回滚、分支注册失败、提交状态不一致或服务重启后状态恢复等问题时,不能只看业务层日志,还需要知道请求经过了哪些拦截点、事务信息保存在哪里、协调端怎样维护全局状态,以及客户端和服务端如何完成通信。课程对服务端核心组件的分析,能够帮助开发者把配置现象对应到内部实现,便于后续阅读源码、定位异常和调整部署方案。

AT 与 TCC 的差异需要放到业务中判断

AT 模式的重点在于减少业务代码改造,通过代理和事务日志等机制,对数据库操作进行管理。它更适合已有数据库事务、业务改造成本需要控制的场景,但并不意味着所有业务都可以无条件使用。开发者仍然需要关注数据库类型、SQL 执行方式、锁竞争、隔离边界、回滚日志以及长事务带来的资源占用。课程结合生单链路整合 AT 模式,帮助学习者观察框架如何接入一个具体业务,而不是只记住几个配置项。

TCC 模式则要求业务显式提供 Try、Confirm、Cancel 三类动作,把资源预留、确认提交和取消释放分别设计出来。它对业务代码的侵入更明显,但在跨资源、异步流程或需要精细控制补偿动作的场景中,往往更灵活。课程通过生单链路整合 TCC 模式,并进一步分析另一种 TCC 使用方式,让学习者比较两种模式在幂等、空回滚、悬挂、重试和异常处理方面的实现差异。真正重要的是学会根据业务一致性要求、数据库约束和改造成本做选择。

适合什么基础,建议先看哪些内容

这份资料更适合已经能够使用 Java 完成后端服务开发,并接触过 Spring、数据库事务、服务间调用和常见微服务概念的学习者。如果还没有理解本地事务的提交与回滚、隔离级别、异常传播以及服务调用链,直接阅读 Seata 源码会比较吃力。具备一定的并发、数据库锁和网络通信基础后,再进入框架内部,会更容易理解全局事务为什么需要协调器、资源管理器和事务管理器共同参与。

建议先看分布式事务基础部分,明确一致性、可用性、隔离性、最终一致性以及柔性事务等概念,再进入 Seata 的核心角色和整体调用流程。接着优先学习服务端启动与核心组件处理机制,先建立“协调端如何工作”的全局视角;之后再分别看 AT 模式和 TCC 模式的业务整合。阅读源码时不要试图一次看完全部实现,可以围绕一次下单请求,顺着事务创建、分支注册、业务执行、提交或回滚这条主线反复对照。

学完之后如何独立做项目练习

完成学习后,应该能够独立设计一个包含多个服务和多个数据库操作的下单类示例,判断其中哪些步骤需要纳入全局事务,哪些步骤可以通过消息、重试或业务补偿处理。使用 AT 模式时,可以练习配置事务接入、观察分支事务和回滚过程,并验证异常发生在不同阶段时系统的表现。使用 TCC 模式时,则应自己设计预留、确认和取消逻辑,补充幂等判断,处理重复确认、重复取消、空回滚以及请求顺序异常等情况。

资料包的正确用法是边看边跑、边改边验证,而不是连续播放后再回忆概念。每学习一个核心流程,都可以先记录参与角色和状态变化,再在示例业务中增加日志,模拟库存不足、数据库异常、服务超时、客户端重试和协调端重启等情况。对比 AT 与 TCC 的执行结果,整理出事务边界、补偿责任和失败恢复方式。最后可以尝试把示例中的业务名称、表结构或调用顺序替换成自己的项目模型,保留事务处理思路并重新设计异常分支。这样得到的不是一套只能照抄的代码,而是一套能够迁移到订单、库存、账户等真实业务中的分析方法。

慕课网-一课学透 分布式事务框架 Alibaba Seata【完结】

深入解析Seata分布式事务框架

编辑点评

从源码角度剖析Seata,涵盖AT、TCC模式,适合有分布式事务需求的后端开发者。

⭐ 编辑推荐

本课程深入解析Alibaba Seata分布式事务框架,通过源码实战,掌握Seata的核心原理和应用。

✨ 课程亮点

✦Seata源码实战
✦AT、TCC模式解析
✦分布式事务解决方案

课程目录

01 第1章 关于分布式事务你必须要知道的6 集
  • 01 1-1 这是Seata源码实战课,更是进击高手的内功心法.mp4 [22.3 MB]
  • 04 1-4 分布式架构之分布式事务.mp4 [7.3 MB]
  • 05 1-5 分布式解决方案2pc.mp4 [11.7 MB]
  • 08 1-8 浠€涔堟槸base瀹氱悊.mp4 [4.4 MB]
  • 03 1-3 单体架构本地事务.mp4 [12.8 MB]
  • 06 1-6 分布式解决方案柔性事务TCC.mp4 [12.1 MB]
13 第13章 生单链路整合Seata TCC模式9 集
  • 02 13-2 异构存储库存双写逻辑代码实现【更多精选‖公众号:CunWorknotes】 .mp4 [42.4 MB]
  • 05 13-5 TCC异构redis库存扣减第一阶段实现.mp4 [50.1 MB]
  • 01 13-1 商品库存系统seata TCC模式架构设计.mp4 [20.7 MB]
  • 04 13-4 TCC异构数据库库存扣减第二阶段实现.mp4 [48.6 MB]
  • 06 13-6 TCC异构redis库存扣减第二阶段实现.mp4 [73.2 MB]
  • 07 13-7 TCC库存异构扣减代码测试.mp4 [59.3 MB]
  • 09 13-9 整合下单链路AT模式和TCC模式混合使用.mp4 [69.0 MB]
  • 03 13-3 TCC异构数据库库存扣减第一阶段实现.mp4 [55.7 MB]
  • 08 13-8 TCC异构扣减库存空悬挂幂等场景分析和落地.mp4 [36.2 MB]
10 第10章 一起看看seata server核心组件协调事务处理机制11 集
  • 11 10-11 修炼内功:逻辑思维对我们的重要性【更多精选‖公众号:CunWorknotes】 .mp4 [17.2 MB]
  • 03 10-3 seata server如何处理分支事务请求(三).mp4 [61.5 MB]
  • 07 10-7 seata client RM角色如何完成数据回滚操作.mp4 [42.5 MB]
  • 10 10-10 修炼内功:一起看看抽象设计在seata源码中的体现.mp4 [66.2 MB]
  • 06 10-6 seata server如何提交全局事务(二).mp4 [70.4 MB]
  • 08 10-8 seata 如何感知到业务异常失败完成回滚的.mp4 [40.4 MB]
  • 05 10-5 seata server如何提交全局事务(一).mp4 [58.3 MB]
  • 01 10-1 seata server如何处理分支事务请求(一).mp4 [59.7 MB]
  • 09 10-9 修炼内功:抽象思维的重要性.mp4 [28.6 MB]
  • 04 10-4 seata server如何处理分支事务请求(四).mp4 [29.0 MB]
  • 02 10-2 seata server如何处理分支事务请求(二).mp4 [42.0 MB]
12 第12章 生单链路整合Seata AT模式14 集
  • 14 12-14 下单链路seata AT模式并发场景分析【更多精选‖公众号:CunWorknotes】 .mp4 [16.5 MB]
  • 07 12-7 分布式下创建订单数据不一致性问题分析【优质资源‖关注:cunWorkNotes 解锁】.mp4 [18.7 MB]
  • 10 12-10 创建订单seata AT模式验证数据一致性【持续更新‖免费提供:CunworknoteS】.mp4 [48.6 MB]
  • 09 12-9 创建订单链路整合seata AT模式.mp4 [60.2 MB]
  • 13 12-13 库存系统AT模式产生死锁的问题【优质资源‖关注:cunWorkNotes 解锁】.mp4 [19.5 MB]
  • 06 12-6 分布式场景下复现订单链路数据不一致性【资源精选‖更多关注:CunworkNotes】.mp4 [31.1 MB]
  • 15 12-15 创建订单链路如何解决AT模式全局锁争用.mp4 [11.1 MB]
  • 02 12-2 基础工程脚手架搭建(一).mp4 [41.7 MB]
  • 08 12-8 搭建本地seata server服务器.mp4 [55.3 MB]
  • 12 12-12 库存系统AT模式读写隔离机制.mp4 [26.7 MB]
  • 04 12-4 基础工程脚手架搭建(三).mp4 [25.7 MB]
  • 03 12-3 基础工程脚手架搭建(二).mp4 [33.4 MB]
  • 11 12-11 创建订单seata AT模式原理分析.mp4 [32.9 MB]
  • 05 12-5 基础工程脚手架搭建(四).mp4 [18.2 MB]
09 第9章 一起看看seata server核心组件启动到做了那些事情7 集
  • 08 9-8 修炼内功:一起看看结构化思维在seata源码中的体现.mp4 [36.9 MB]
  • 05 9-5 用一张图概览下seata server 启动流程.mp4 [27.8 MB]
  • 02 9-2 一起看看seata server启动的时候做了那些事.mp4 [74.2 MB]
  • 06 9-6 用一张图概览下seata sever如何开启全局事务核心逻辑【整理不易‖记得关注:CunWorKNotes】.mp4 [36.3 MB]
  • 03 9-3 seata sever如何开启全局事务(一)【资源精选‖更多关注:CunworkNotes】.mp4 [47.8 MB]
  • 04 9-4 seata sever如何开启全局事务(二).mp4 [49.6 MB]
  • 07 9-7 修炼内功:结构化思维在生活和代码中的体现.mp4 [21.3 MB]
11 第11章 一起看看seata另一种TCC模式怎么玩的10 集
  • 08 11-8 用一张图看看TCC防悬挂产生和解决方案.mp4 [16.1 MB]
  • 06 11-6 TCC模式下如何进行全局事务开启,全局事务提交的【不易整理‖请关注:CunWorkNoteS】.mp4 [75.7 MB]
  • 04 11-4 TCC模式下GlobalTransactionScanner核心类是怎么去代理对象的.mp4 [54.4 MB]
  • 02 11-2 一起上手看看seata TCC模式是怎么玩的.mp4 [54.5 MB]
  • 03 11-3 一起上手跑一跑TCC模式下的案例.mp4 [60.4 MB]
  • 11 11-11 从代码层面新版本是怎么控制空悬挂,空回滚,幂等问题.mp4 [69.6 MB]
  • 05 11-5 TCC模式下TActionInterceptor方法拦截器分支事务注册逻辑.mp4 [28.7 MB]
  • 07 11-7 用一张图概览下TCC模式下源码核心逻辑.mp4 [27.2 MB]
  • 10 11-10 用一张图看看TCC幂等产生和解决方案.mp4 [8.3 MB]
  • 09 11-9 用一张图看看TCC空回滚产生和解决方案.mp4 [4.9 MB]
08 第8章 一起看看seata数据源代理后做了那些事情5 集
  • 03 8-3 seata 本地事务提交undolog如何生成的.mp4 [55.5 MB]
  • 06 8-6 用一张图概览下seata本地事务提交做了那些事情【优质资源‖关注:cunWorkNotes 解锁】.mp4 [34.2 MB]
  • 02 8-2 自动装配SeataAutoDataSourceProxyCreator如何包装DataSource的.mp4 [52.5 MB]
  • 04 8-4 seata client全局锁是如何生成的.mp4 [23.9 MB]
  • 05 8-5 seata AT模式本地事务执行流程.mp4 [37.3 MB]
04 第4章 从示例工程入手看看整合Seata装配了那些核心类10 集
  • 06 4-6 一起看看seata-all.jar下面dubbo是如何传递xid的.mp4 [38.7 MB]
  • 03 4-3 一起看看spring-cloud-starter-alibaba-seata.jar自动装配了哪些类(1).mp4 [56.8 MB]
  • 07 4-7 一起看看seata-spring-autoconfigure-client和core装配了哪些类.mp4 [29.5 MB]
  • 04 4-4 一起看看spring-cloud-starter-alibaba-seata.jar自动装配了哪些类(2).mp4 [13.0 MB]
  • 08 4-8 一起看看seata-spring-boot-starter.jar核心类简介.mp4 [21.4 MB]
  • 01 4-1 掌握阅读源码能力的必要性.mp4 [9.6 MB]
  • 10 4-10 seata源码下载源码目录功能概览.mp4 [39.7 MB]
  • 05 4-5 一起看看spring-cloud-starter-alibaba-seata.jar自动装配了哪些类(3).mp4 [26.7 MB]
  • 09 4-9 一起看看seata-spring-boot-starter.jarj加载了哪些核心类.mp4 [33.3 MB]
  • 02 4-2 学习源码的更优方式.mp4 [6.5 MB]
06 第6章 一起看看全局事务管理机制底做了那些事情6 集
  • 07 6-7 借鉴大牛思想:模版模式在GlobalTransactionScanner体现以及优势.mp4 [15.6 MB]
  • 04 6-4 seata全局事务的提交和异常处理机制.mp4 [27.9 MB]
  • 02 6-2 全局事务开启前奏逻辑处理做了哪些事情【优质资源‖关注:cunWorkNotes 解锁】.mp4 [26.2 MB]
  • 03 6-3 终于见到全局事务开启的真正入口handleGlobalTransaction.mp4 [51.6 MB]
  • 06 6-6 借鉴大牛思想:代理模式在GlobalTransactionScanner体现以及优势.mp4 [20.9 MB]
  • 05 6-5 用一张图概览下GlobalTransactionScanner核心逻辑.mp4 [22.5 MB]
14 第14章 生单链路整合Seata SAGA模式6 集
  • 03 14-3 履约系统saga调度代码实现逻辑【更多精选‖公众号:CunWorknotes】 .mp4 [24.0 MB]
  • 01 14-1 下单链路场景引入saga模式分析.mp4 [36.1 MB]
  • 05 14-5 saga模式空悬挂 空回滚 幂等性的问题.mp4 [23.9 MB]
  • 04 14-4 用一张图梳理下saga状态机原理.mp4 [31.7 MB]
  • 02 14-2 saga状态机核心文件编排.mp4 [45.8 MB]
  • 06 14-6 上手跑一跑履约系统saga模式.mp4 [68.1 MB]
02 第2章 授人以渔从官网入手看看Seata原理特性9 集
  • 01 2-1 为什么要选择seata框架去进行学习.mp4 [26.7 MB]
  • 02 2-2 本章概览【持续更新‖免费提供:CunworknoteS】.mp4 [12.6 MB]
  • 05 2-5 授人以渔从官网入手看看seata写隔离机制.mp4 [18.4 MB]
  • 07 2-7 授人以渔从官网入手看看seata AT工作机制.mp4 [18.1 MB]
  • 09 2-9 授人以渔从官网入手看看seata SAGA工作机制和三种优劣势比较.mp4 [17.9 MB]
  • 04 2-4 授人以渔从官网入手看看seata快速入门.mp4 [11.1 MB]
  • 03 2-3 授人以渔从官网入手看看seata框架特性概览.mp4 [17.8 MB]
  • 06 2-6 授人以渔从官网入手看看seata读隔离机制.mp4 [9.6 MB]
  • 08 2-8 授人以渔从官网入手看看seata TCC工作机制.mp4 [10.7 MB]
05 第5章 一起看看全局事务扫描组件到底做了那些事情4 集
  • 02 5-2 GlobalTransactionScanner从实现类和继承的角度干了什么事情【优质资源‖关注:cunWorkNotes 解锁】.mp4 [30.1 MB]
  • 05 5-5 GlobalTransactionalInterceptor拦截器主要做的事情.mp4 [37.5 MB]
  • 04 5-4 GlobalTransactionScanner wrapIfNecessary方法主要逻辑.mp4 [33.9 MB]
  • 03 5-3 GlobalTransactionScanner afterPropertiesSet方法主要逻辑.mp4 [16.5 MB]
03 第3章 授人以渔上手跑一跑Seata官网的案例7 集
  • 05 3-5 授人以渔从官网入手看看seata示例工程从业务代码做了哪些事情.mp4 [51.5 MB]
  • 03 3-3 授人以渔从官网入手看看seata示例工程相关seata配置项.mp4 [82.9 MB]
  • 07 3-7 用一张图概览下seata正常示例到底做了哪些事情.mp4 [32.7 MB]
  • 04 3-4 授人以渔从官网入手看看seata示例工程数据库创建和seata server的启动.mp4 [24.9 MB]
  • 06 3-6 授人以渔从官网入手跑一跑seata示例工程.mp4 [33.8 MB]
  • 02 3-2 授人以渔从官网入手看看seata工程快速上手.mp4 [21.2 MB]
  • 08 3-8 用一张图概览下seata异常示例到底做了哪些事情.mp4 [10.1 MB]
07 第7章 核心资源管理组件和事务管理组件如何初始化的4 集
  • 03 7-3 TM组件事务管理器底层如何跟seata server建立长连接的.mp4 [38.9 MB]
  • 05 7-5 用一张图概览下RMClient端初始化的核心逻辑.mp4 [60.3 MB]
  • 04 7-4 用一张图概览下TMClient端初始化的核心逻辑.mp4 [30.8 MB]
  • 02 7-2 TM组件事务管理器实例化TmNettyRemotingClient.mp4 [36.7 MB]

适合人群

  • 后端开发者
  • 分布式系统架构师

🎯 学习收获

  • 理解Seata工作原理
  • 掌握Seata应用场景
  • 解决分布式事务问题

🎉 祝您学习愉快!