轻松掌握Seata源码分析之AT模式整体大纲流程跟踪

这篇具有很好参考价值的文章主要介绍了轻松掌握Seata源码分析之AT模式整体大纲流程跟踪。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

如下为订单和库存的实例代码,在事务开启处即订单服务处使用GlobalTransactional即可。当添加了异常代码使订单无法加一,这时减库存服务也会回滚,根据的就是undolog。回滚完undolog记录会被释放删除。
轻松掌握Seata源码分析之AT模式整体大纲流程跟踪

AT模式整体大纲流程跟踪如下:

如果是springboot项目找到Seata对应依赖
轻松掌握Seata源码分析之AT模式整体大纲流程跟踪
轻松掌握Seata源码分析之AT模式整体大纲流程跟踪

springboot的自动装配文件spring.factories,内容如下:
轻松掌握Seata源码分析之AT模式整体大纲流程跟踪

里面看到自动装配了几个bean,找到与自己想看的bean关系大的
轻松掌握Seata源码分析之AT模式整体大纲流程跟踪

我们要研究AT模式,AT模式使用了GlobalTransactional全局事务注解,找到了如下相似的bean,翻译就是全局事务扫描器,说明正是我们想要的。
轻松掌握Seata源码分析之AT模式整体大纲流程跟踪

在网上我们下载seata源码,在搜索我们要查的类,看到继承了AbstractAutoProxyCreator。说明它使用了AOP代理,那么必然会实现wrapIfNecessary。逻辑如下:
轻松掌握Seata源码分析之AT模式整体大纲流程跟踪
轻松掌握Seata源码分析之AT模式整体大纲流程跟踪
轻松掌握Seata源码分析之AT模式整体大纲流程跟踪

点击到全局事务拦截器GlobalTransactionalInterceptor里看看,拦截器里看invoke方法中执行了全局事务如下:
轻松掌握Seata源码分析之AT模式整体大纲流程跟踪

到执行全局事务方法里看,主要有执行当前事务的核心逻辑、获取事务信息方法。
轻松掌握Seata源码分析之AT模式整体大纲流程跟踪

执行当前事务的核心逻辑,如下步骤
轻松掌握Seata源码分析之AT模式整体大纲流程跟踪
轻松掌握Seata源码分析之AT模式整体大纲流程跟踪
轻松掌握Seata源码分析之AT模式整体大纲流程跟踪

以上我们分析了整体的大纲流程是如何走的,对于详细的比如undolog如何生成则需要进入相应细节仔细分析。文章来源地址https://www.toymoban.com/news/detail-489193.html

到了这里,关于轻松掌握Seata源码分析之AT模式整体大纲流程跟踪的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 分布式事务Seata实战-AT模式(注册中心为Eureka)

    大致记录Seata的AT模式下创建项目过程中需要注意的点和可能遇到的问题。 本项目是以官网的给的示例(即下图)进行创建的,以Eureka为注册中心。 官网:Seata AT 模式 | Apache Seata™ 官方代码示例:   快速启动 | Apache Seata™ 此文章涉及的项目代码链接:seata-at: 分布式事务解

    2024年01月19日
    浏览(44)
  • 聊聊Seata分布式解决方案AT模式的实现原理

    Seata是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。为用户提供了AT、TCC、SAGA和XA事务模式,为用户打造一站式的分布式解决方案。 AT模式目前来看是Seata框架独有的一种模式,其它的分布式框架上并没有此种模式的实现。其是由二阶段提

    2024年02月05日
    浏览(42)
  • Seata分布式事务AT、TCC、SAGA、XA模式

    Seata是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata将为用户提供了AT、TCC、SAGA和XA事务模式,为用户打造一站式的分布式解决方案。 🍮实现原理 阿里SEATA独有模式,通过生成反向SQL实现数据回滚,需要在数据库额外附加UNDO_LOG表,

    2024年02月07日
    浏览(36)
  • springcloud3 分布式事务解决方案seata之AT模式5

    1.XA模式一阶段不提交事务,锁定资源;AT模式一阶段直接提交,不锁定资源; 2.XA模式依赖数据库机制实现回滚;AT模式利用数据库快照实现数据回滚 3.XA模式强一致;AT模式最终一致。 1.2 AT模式原理 一阶段: 1.TM发起并注册全局事务到TC; 2.TM调用分支事务; 3.RM进行注册分支

    2024年02月07日
    浏览(52)
  • 深度分析:如何轻松掌握文件大小管理

    大家好,今天我要与大家分享一个实用至极的脚本。简单易用,但效果却让人惊艳。它可以在几秒钟内完成文件大小的统计,并生成一份统计信息。 功能概览 完整性分析: 一次性告诉你不同大小区间的文件分布,让你一目了然。 速度超快: 忘掉繁琐的手动查找和统计,这

    2024年02月10日
    浏览(37)
  • openxr runtime Monado 源码解析 源码分析:整体介绍 模块架构 模块作用 进程 线程模型 整体流程

    monado系列文章索引汇总: openxr runtime Monado 源码解析 源码分析:源码编译 准备工作说明 hello_xr解读 openxr runtime Monado 源码解析 源码分析:整体介绍 模块架构 模块作用 进程 线程模型 整体流程 openxr runtime Monado 源码解析 源码分析:CreateInstance流程(设备系统和合成器系统)C

    2024年02月11日
    浏览(83)
  • Flink window 源码分析1:窗口整体执行流程

    注:本文源码为flink 1.18.0版本。 其他相关文章: Flink window 源码分析1:窗口整体执行流程 Flink window 源码分析2:Window 的主要组件 Flink window 源码分析3:WindowOperator Flink window 源码分析4:WindowState Window 本质上就是借助状态后端缓存着一定时间段内的数据,然后在达到某些条件

    2024年01月16日
    浏览(46)
  • 【23JavaScript 正则表达式】深入解析JavaScript正则表达式:基础概念、常用方法和实例详解,轻松掌握强大的文本模式匹配工具

    正则表达式是一种强大的文本模式匹配工具,用于在字符串中搜索和操作特定的文本模式。在JavaScript中,正则表达式提供了一种灵活的方式来处理字符串操作。 在JavaScript中,可以通过使用字面量表示法或RegExp对象来创建正则表达式。 字面量表示法 RegExp对象 JavaScript中的正则

    2024年02月08日
    浏览(63)
  • OpenAI-ChatGPT最新官方接口《速率并发限制》全网最详细中英文实用指南和教程,助你零基础快速轻松掌握全新技术(八)(附源码)

    为了保证系统的可靠性和稳定性,ChatGPT设置了速率限制,限制每个用户在特定时间段内可以发送的消息数量。这样可以防止某些用户对系统进行滥用,并且减少资源占用。ChatGPT 的速率限制比较灵活,会根据用户的行为以及服务器的负载情况动态调整。例如,在繁忙的时段,

    2024年02月03日
    浏览(111)
  • OpenAI-ChatGPT最新官方接口《AI绘图》全网最详细中英文实用指南和教程,助你零基础快速轻松掌握全新技术(三)(附源码)

    Learn how to generate or manipulate images with our DALL·E models 了解如何使用我们的DALL·E模型生成或操作图像 ChatGPT不仅仅是一个强大的自然语言处理模型,其DALL·E模型还可以帮助用户快速生成多种多样的图像。用户可以根据文字快速生成图片,即可自动生成出特定的图片,大大提高了

    2024年02月02日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包