当面临分布式架构场景下的事务问题时,传统的本地事务无法满足需求,这就是为什么学习阿里巴巴Seata框架的原因。学习Seata的目标是帮助大家了解该框架的背景和功能,以及它可以解决哪些问题。同时,需要了解Seata的核心原理架构和不同模式(AT、TCC、SAGA)之间的区别,以及它们适用的场景和各自的优劣势。
通过官网学习了相关Seata的核心架构知识点之后,本章继续以授人以渔的方式带领同学们去上手运行seata官网 AT模式代码案例,通过理论和实践的方式让同学们认识Seata框架的特性。通过官网案例+手工画图的方式剖析Seata框架的核心知识点,帮助同学更好的消化seata知识点
1:学习源码意义何在?2:从springboot的工程入手,一起看看client端整合Seata框架的时候加载了那些核心类?以及这些client端涉及到的类的核心作用是什么,最后授人以渔的方式带领大家如何从官网下载源码,以及源码相关目录功能概览介绍
本章从装配类作为切入点,详细介绍GlobalTransactionScanner全局事务扫描组件实例化的时候初始化了哪些seata client端相关重要的组件,以及这个些类主要的作用和主要的方法逻辑
本章主要学习全局事务扫描组件中的增加方法是如何开启全局事务,如何提交全局事务,以及如何执行业务目标方法的,遇到异常是如何感知到回滚的,最后手工画图讲解GlobalTransactionScanner核心相关流程的主要作用,以及通过源码借鉴大牛的思想
本章学习seata RM和TM两个核心组件,在初始化的时候到底做了那些事情,以及底层如何跟seata server进行通信的,最后手工画图的方式介绍RM和TM两个核心组件初始化的核心流程,让同学们更容易消化源码
本章通过源码学习seata如何进行数据源代理之后,介绍操作本地事务如何进行undolog生成逻辑,同时异常回滚如何基于unodlog进行恢复数据,以及全局锁如何生成的,最后通过手工画图的方式学习提交本地事务核心流程
Seata Server是Seata框架中的核心组件之一,它是负责分布式事务的管理和协调的服务器端,本章通过源码角度学习seata server启动时候做了那些事情,以及核心流程全局事务如何开启的,通过源码源码一些优秀的思维方式。最后通过手工画图的方式介绍seata server启动流程到底做了那些事情
本章介绍Seata Server如何处理分支事务请求,如何提交全局事务,以及感知到业务异常之后 seata server是如何协同各个组件完成数据异常回滚的,最后学习源码中优秀设计模式在源码中的体现
继续以授人以渔的方式先从官网入手跑一跑TCC模式相关代码案例,通过案例作为切入点讲解TCC模式相关源码,如何开启事务,提交事务,回滚事务,以及通过手工画图的方式讲解TCC源码核心逻辑,最后通过手工画图TCC模式空悬挂,空回滚,幂等性
随着微服务的演进,分析分布式场景下生单链路数据不一致的问题,从而通过Seata AT模式如何去解决分布式场景下事务的问题,通过真实业务分析+AT模式原理剖析+真实代码落地三板斧去消化AT模式的原理和应用,最后通过业务演进的方式分析AT模式存在问题,衍生出TCC模式,从而解决AT模式针对高并发场景下产生的一系列的问题
上一章节最后分析了用AT模式针对高并发场景可能会生产一系列的问题,本章节通过业务演进的方式,通过TCC模式来解决并发场景下的问题,并且通过原理分析+手工画图+代码落地TCC,最后分析落地TCC模式常见的问题(幂等,空悬挂,空回滚)解决方案
通过生单链路引出SAGA模式长事务的应用场景,分析SAGA模式核心原理+手工画图方式+代码落地消化SAGA相关的知识点,最后分析SAGA模式可能存在的一些问题,和应用场景的分析
选课、学习遇到问题?
扫码添加指导老师 1V1 帮助你!
添加后老师会第一时间解决你的问题