首页 > 其他分享 >简述Seata的AT模型

简述Seata的AT模型

时间:2024-10-13 21:12:36浏览次数:10  
标签:事务 快照 Seata 模型 XA 模式 简述 RM TC

AT模式是分阶段提交的事务模型,不过缺弥补了XA模型中资源锁定周期过长的缺陷。

1.Seata的AT模型

阶段一RM的工作:
● 注册分支事务
● 记录undo-log(数据快照)
● 执行业务sql并提交
● 报告事务状态
阶段二提交时RM的工作:
● 删除undo-log即可
阶段二回滚时RM的工作:
● 根据undo-log恢复数据到更新前

2.流程梳理

一阶段:

  1. TM发起并注册全局事务到TC
  2. TM调用分支事务
  3. 分支事务准备执行业务SQL
  4. RM拦截业务SQL,根据where条件查询原始数据,形成快照。
  5. RM执行业务SQL,提交本地事务,释放数据库锁。此时 money = 90
  6. RM报告本地事务状态给TC
    二阶段:
  7. TM通知TC事务结束
  8. TC检查分支事务状态
    a. 如果都成功,则立即删除快照
    b. 如果有分支事务失败,需要回滚。读取快照数据({"id": 1, "money": 100}),将快照恢复到数据库。此时数据库再次恢复为100

3.简述AT模式与XA模式最大的区别是什么?

● XA模式一阶段不提交事务,锁定资源;AT模式一阶段直接提交,不锁定资源。
● XA模式依赖数据库机制实现回滚;AT模式利用数据快照实现数据回滚。
● XA模式强一致;AT模式最终一致
可见,AT模式使用起来更加简单,无业务侵入,性能更好。因此企业90%的分布式事务都可以用AT模式来解决。

标签:事务,快照,Seata,模型,XA,模式,简述,RM,TC
From: https://www.cnblogs.com/k180/p/18462972

相关文章

  • Seata的AT模式的执行流程
    AT模式是解决分布式事务的一种方式AT模式与XA模式都是分阶段提交的事务模型,弥补了XA模型中资源锁定周期过长的缺陷,企业基本都用。1.AT模式基本流程图:阶段一RM的工作:注册分支事务记录undo-log(数据快照)执行业务sql并提交报告事务状态阶段二提交时RM的工作:删除undo-log即......
  • 什么是分布式事务?使用Seata有哪些解决方案?Seata的AT模式的执行流程
    什么是分布式事务?简单来说:在分布式系统中出现的事务问题,称为分布式事务。为什么会出现分布式事务:一个分布式事务流程图在这个业务中有3个数据库连接,就没有办法做到全局的事务控制。这就是分布式事务问题分布式事务产生的情况有两种:​ 1.业务跨多个服务实现​ 2.业务跨多......
  • Seata的AT模式的执行流程
    在Seata的事务管理中有三个重要的角色:TC(TransactionCoordinator)-事务协调者:维护全局和分支事务的状态,协调全局事务提交或回滚。TM(TransactionManager)-事务管理器:定义全局事务的范围、开始全局事务、提交或回滚全局事务。RM(ResourceManager)-资源管理器:管理......
  • 阿里云的Qwen2.5-Coder 和 Qwen2.5-Math专有模型怎么样?
    阿里云发布Qwen2.5 系列模型,最新发布的Qwen2.5系列中包括普通的大语言模型(LLM)以及针对编程和数学的专用模型:Qwen2.5-Coder 和 Qwen2.5-Math。包括:Qwen2.5:0.5B、1.5B、3B、7B、14B、32B和72BQwen2.5-Coder:1.5B、7B和32B(即将发布)Qwen2.5-Math:1.5B、7B和72......
  • Seata的AT模式的执行流程
    ·TC(TransactionCoordinator)-事务协调者:维护全局和分支事务的状态,协调全局事务提交或回滚。·TM(TransactionManager)-事务管理器:定义全局事务的范围、开始全局事务、提交或回滚全局事务。·RM(ResourceManager)-资源管理器:管理分支事务,与TC交谈以注册分支事务......
  • Seata的AT模式的执行流程
    Seata角色术语TC-事务协调者维护全局和分支事务的状态,驱动全局事务提交或回滚,即Seata服务端。TM-事务管理器定义全局事务的范围:开始全局事务、提交或回滚全局事务,在事务发起的客户端。RM-资源管理器管理分支事务处理的资源,与TC交谈以注册分支事务和报告分支事务的状态......
  • seata 模式相关
    Seata解决分布式的方案1AT模式数据最终一致AT模式使用起来更加简单,无业务侵入,性能更好AT模式是Seata创新的一种非侵入式的分布式事务解决方案,Seata在内部做了对数据库操作的代理层,我们使用SeataAT模式时,实际上用的是Seata自带的数据源代理DataSourceProxy,Seata在......
  • 需求分析模型
    一、需求的定义 人在不同的场景下会遇到某些问题需要去解决,这些解决这些问题就是某人的需求。传统的需求为人与人之间的问题,互联网的需求为人与机器之间的交互。1、马斯洛需求理论(金字塔)a、生理:吃喝穿住行,最底层需求。(属于刚需,eg:美团、滴滴)b、安全:受保护的......
  • 图像文本对比模型实践——CLIP——2021
    图像文本对比模型实践——CLIP——20211.论文启发点详细内容(文+图)clip原理的极简版:用图像编码器把图像编码成向量a;用文本编码器把文本编码成向量b;计算a·b,如果a和b来自一对儿配对的图和文字,则让a·b向1靠近;如果a和b来自不配对儿的图和文字,则让a·b向......
  • 基于卷积神经网络的脊柱骨折识别系统,resnet50,mobilenet模型【pytorch框架+python】
       更多目标检测和图像分类识别项目可看我主页其他文章功能演示:基于卷积神经网络的脊柱骨折识别系统,resnet50,mobilenet【pytorch框架,python,tkinter】_哔哩哔哩_bilibili(一)简介基于卷积神经网络的脊柱骨折识别系统是在pytorch框架下实现的,这是一个完整的项目,包括代码,数据......