三十七、XA模式

目录

一、XA模式原理

在XA模式中,一个事务通常被分为两个阶段:

二、Seata的XA模式

RM一阶段的工作:

TC一阶段的工作:

RM二阶段的工作:

1、优点:

2、缺点:

三、实现XA模式

1、修改yml文件,开启XA模式

2、给发起全局事务的入口方法添加@GlobalTransactional注解


一、XA模式原理

  • XA模式是一种分布式事务处理模式,常用于多个数据库之间的事务处理。
  • 在XA模式中,一个事务被视为由一个或多个资源管理器(例如数据库)控制的一系列操作。
  • 这些资源管理器必须支持XA协议,以确保事务的一致性和可靠性。

在XA模式中,一个事务通常被分为两个阶段:

  • 准备阶段和提交阶段。
  • 在准备阶段,事务管理器将事务状态记录到事务日志,通知各个资源管理器准备执行相关操作。
  • 在提交阶段,事务管理器将事务提交或回滚,并通知各个资源管理器进行相应操作。
  • XA模式保证了多个数据库之间的事务操作的一致性和可靠性。

  1. 总的思路是,RM每次完成了任务都要向事务协调者返回消息;
  2. 事务协调者根据获得的消息来选择进入下一阶段或是回滚

二、Seata的XA模式

RM一阶段的工作:

  1. 注册分支事务到TC
  2. 执行分支业务sql但不提交
  3. 报告执行状态到TC

TC一阶段的工作:

  • TC检测各分支事务执行状态

  1. 如果都成功,通知所有RM提交事务
  2. 如果有失败,通知所有RM回滚事务

RM二阶段的工作:

接收TC的指令,选择提交或回滚

1、优点:

事务的强一致性,满足 ACID 原则。
常用数据库都支持,实现简单,并且没有代码侵入

2、缺点:

因为一阶段需要锁定数据库资源,等待二阶段结束才释放,性能较差
依赖关系型数据库实现事务

三、实现XA模式

1、修改yml文件,开启XA模式

  data-source-proxy-mode: XA

2、给发起全局事务的入口方法添加@GlobalTransactional注解

  • 发起全局事务的入口方法是指启动一个全局事务的入口方法,一方面它可以创建全局事务对象来跟踪全局事务的状态和参与者,另一方面它可以协调分支事务之间的执行,确保它们成功地提交或者回滚。
  • 在分布式系统中,由于业务涉及多个不同的节点和资源,会很容易出现分支事务之间存在数据不一致的情况,所以需要使用分布式事务来保证数据的一致性。发起全局事务的入口方法是指在这种情况下,通过调用分布式事务中间件提供的API,启动一个全局事务,将该事务拆分成多个分支事务,并为每个分支事务创建一个事务上下文,同时协调分支事务的执行,保证最终的数据一致性。
  • 不同的分布式事务中间件提供不同的API来启动全局事务,但通常都会包括创建全局事务对象和注册分支事务等步骤。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/215896.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CYCA少儿形体礼仪 朝阳市培训成果考核圆满落幕

少年成长从形体教育开始——从2020年美育中考落地执行开始,美育成为少儿教育发展的必经之路,助力少儿综合能力全面发展。CYCA中国文化管理协会青少年文化艺术委员会全面贯彻党的教育方针,促进儿童素质艺术教育并深入实施,从少儿形…

12-2 Mybatis-Plus与Spring整合

user-springboot programming 实体类 ## 链接数据源 C3p0(原始化) 连接池的数据源 引入mysql 自动配置类DataSource会生效 需要你去配置相关的数据库参数 需要用到连接池 数据源的配置类 SpringBoot的测试类 SpringBootTest 原先是RunWith和Conf…

服务异步通讯

四、服务异步通讯 4.1初始MQ 4.1.1同步通讯和异步通讯 同步调用的优点: 时效性较强,可以立即得到结果 同步调用的问题: 耦合度高 性能和吞吐能力下降 有额外的资源消耗 有级联失败问题 异步通信的优点: 耦合度低 吞吐量提升 故障隔离 流量削峰 异步通信的缺点: …

智能优化算法应用:基于入侵杂草算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于入侵杂草算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于入侵杂草算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.入侵杂草算法4.实验参数设定5.算法结果6.参考…

双指针算法: 快乐数 与 盛水最多的容器

🎈个人主页:🎈 :✨✨✨初阶牛✨✨✨ 🐻推荐专栏1: 🍔🍟🌯C语言初阶 🐻推荐专栏2: 🍔🍟🌯C语言进阶 🔑个人信条: 🌵知行合一 前言 声明…

前端漏洞--front(系统有user1/user1,admin1/admin1两个用户)

任务一:挖掘反射型XSS漏洞(以弹窗test13)证明 任务二:复现环境中的CSRF漏洞,设计表单,当管理员点击URL后自动将自己密码重置为:123456 任务三:复现环境中的JSON Hijacking漏洞&#…

开放式耳机怎么选?干货分享! 2023好评度超高开放式耳机推荐!

在现代社会中,人们对于音乐和通话的需求越来越高。传统的耳机虽然能够提供良好的音质,但使用过程中存在一些问题,例如长时间佩戴会引起耳朵疲劳和隔绝周围环境的声音。为了解决这些问题,开放式耳机应运而生,成为了一种…

解决webpack打包生成gz格式css/js文件没法在nginx使用的问题--全网唯一正确

本文绝对是全网解决这个问题唯一正确的文章,没有之一! 很多人都说开启nginx gzip压缩,这些人完全是胡说八道!你们到底懂不懂叫gzip压缩啊?! 不信你就试试,如果css/js只有gz文件,ng…

数组逆序重放

数组逆序重放的意思是将数组的元素逆序排列,然后重新放回原数组中。这个操作可以在很多编程语言中实现,例如Python、Java等。 下面是一个Python的示例代码,可以实现这个操作: def reverse_and_rearrange(arr): # 反转数组 …

面试多线程八股文十问十答第二期

面试多线程八股文十问十答第二期 作者:程序员小白条,个人博客 相信看了本文后,对你的面试是有一定帮助的! ⭐点赞⭐收藏⭐不迷路!⭐ 1.进程和线程的区别 概念不同:进程是操作系统中的一个独立执行单元&a…

Python搭建代理IP池实现接口设置与整体调度

目录 前言 1. 搭建免费代理IP爬虫 2. 将获取到的代理IP存储到数据库中 3. 构建一个代理IP池 4. 实现调度器来调度代理IP池 5. 实现带有代理IP池的爬虫 总结 前言 在网络爬虫中,代理IP池是一个非常重要的组件。由于许多网站对单个IP的请求有限制,…

Python练习题(三)

📑前言 本文主要是【Python】——Python练习题的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 🌄每日一句&am…

学生犯错误老师应该怎么教育

作为一名老师,当学生犯错误时,我们需要采取一些措施来帮助他们改正错误并学习如何更好地处理问题。以下是我作为一名老师会采取的几个步骤: 进行私下谈话,了解他们为什么犯错误。我会听取他们的解释,并尝试理解他们的动…

如何能够对使用ShaderGraph开发的Shader使用SetTextureOffset和SetTextureScale方法

假设在ShaderGraph中的纹理的引用名称为"_BaseMap",同时对这个"_BaseMap"纹理使用了采样的节点"SampleTexture2D",然后该采样节点的uv接入的TilingAndOffset节点,此时的关键步骤是新建一个Vector4属性&#xf…

深入解析Linux内核网络-拥塞控制系列(一)

谈起网络拥塞控制,大家可能很熟悉八股文中的"加法增大“、”乘法减小“、”慢开始“、“拥塞避免”、“快重传”、“快恢复”等概念。没错,这是一种经典网络拥塞控制算法的基础理论,但在实际的实现时不同的拥塞控制算法,有很…

I/O口接口扩展----82C55

目录 一.扩展的I/O接口功能 二.端口的编址 1.独立编址 2.统一编制 三.I/O数据的传送方式 四.I/O接口电路----82C55 1.82C55的引脚及其内部结构 2.工作方式选择控制字及端口PC置位/复位控制字 3.82C55的三种工作方式 (1)方式0 (2)方式1 (3)方式2 4.AT89S52单片机与…

树_完全二叉树节点个数

//给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。 // // 完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位…

安卓1.0明显是基于linux内核开发的,安卓1.0是不是linux套壳?

安卓1.0明显是基于linux内核开发的,安卓1.0是不是linux套壳? 在开始前我有一些资料,是我根据自己从业十年经验,熬夜搞了几个通宵,精心整理了一份「安卓开发资料从专业入门到高级教程工具包」,点个关注&…

华为OD机试 - 园区参观路径(Java JS Python C)

题目描述 园区某部门举办了Family Day,邀请员工及其家属参加; 将公司园区视为一个矩形,起始园区设置在左上角,终点园区设置在右下角; 家属参观园区时,只能向右和向下园区前进,求从起始园区到终点园区会有多少条不同的参观路径。 输入描述 第一行为园区的长和宽; 后…

王炸cpu-龙芯3A6000

国产 CPU 性能媲美 Intel 酷睿这事儿,可能真的已经实现了。 没错,那颗有着多次爆料拉满大家期待值的龙芯 3A6000,终于正式发布。 就在今天上午,龙芯中科在 2023 年龙芯产品发布暨用户大会上正式带来了这颗 CPU。 整场发布会 PPT …