seata的AT模式分析
(1)AT模式的核心组件:
- 事务协调器 TC
维护全局和分支事务的状态;
维护全局锁的状态;
接受TM的提交或者回滚命令,联系RM进行分支事务的提交或者回滚。
- 事务管理者 TM
开启全局事务,向TC申请全局事务ID;
根据TC反馈的分支事务结果来决定提交或者回滚;
告诉TC提交或者回滚一个全局事务;
- 资源管理者 RM
管理执行分支事务的那些资源;
向TC注册分支事务、上报分支事务状态、控制分支事务的提交或者回滚;
(2)事务流程:
- TM 请求 TC,开始一个新的全局事务,TC 会为这个全局事务生成一个 XID。
- TM所属的业务把XID 通过微服务的调用链传递到其他微服务。
- 各微服务的RM 把本地事务作为这个XID的分支事务注册到TC。
- RM把本地事务的事务前image和事务后image记录到undo_log,同时向TC申请变更行的全局锁,开始进行事务提交,并且把本地分枝事务的结果反馈给TC。
- TM收到TC通知的各分支事务结果,决定提交或者回滚,TM 请求 TC 对这个 XID 进行提交或回滚。
- TC 指挥这个 XID 下面的所有分支事务进行提交、回滚。提交则是去掉阶段1的各分支事务对应的全局锁,并且删除undo_log;回滚则是根据阶段1对应的分支事务的undo_log记录的事务前image来回滚数据,在回滚前要判定数据和阶段1的事务后image的数据一致性,一致则回滚,不一致则要有策略或者人工来介入。
(3)典型问题:
如果回滚的时候,进行数据核验的时候,发现数据被其他应用修改了,该怎么办?
at是要保证所有操作数据库的动作都在seata事务的全局事务覆盖下。也就是说,如果你这个库的这个表被其他应用用了,让这个应用也集成seata就行了。
相关文章:
seata的AT模式分析
(1)AT模式的核心组件: 事务协调器 TC 维护全局和分支事务的状态; 维护全局锁的状态; 接受TM的提交或者回滚命令,联系RM进行分支事务的提交或者回滚。 事务管理者 TM 开启全局事务,向TC申请…...
【算法练习Day22】 组合总和 III电话号码的字母组合
📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:练题 🎯长路漫漫浩浩,万事皆有期待 文章目录 组合总和 III剪枝 电话号码…...
react-------JS对象、数组方法实际应用集合
目录 1、向空对象里添加键值对 2、js在数组对象中添加和删除键值对(对象属性)的方法 2.1 添加 3、对已有的数据更换键值对的属性名 4、js字符串拼接、数组转字符串 5、从数组中提取元素 1、向空对象里添加键值对 对象的属性可以使用[ ] 或者 . 而…...
AWS SAP-C02教程6--安全
云的安全是一个重要的问题,很多企业不上云的原因就认为云不安全,特别是对安全性要求较高的企业,所以云安全是一个非常广泛且重要的话题,其实在之前章节中的组件都会或多或少讲述与其相关的安全问题,这里也会详细讲一下。本章主要通过讲述一些独立或与安全有关的组件以及网…...
Go学习第一章——开发环境安装以及快速入门(GoLand)
Go开发环境安装以及快速入门 一、环境配置1.1 go开发工具1.2 go sdk下载3.1 go相关命令行 二、快速入门2.1 创建项目2.2 创建.go程序文件2.3.配置 mod 的开启与关闭2.4 用 GoLand 写第一份代码2.5.代码静态检测(此部分非必要) 三、初步了解3.1 代码解释以…...
大数据学习(14)-Map Join和Common Join
&&大数据学习&& 🔥系列专栏: 👑哲学语录: 承认自己的无知,乃是开启智慧的大门 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言📝支持一下博>主哦&#x…...
Docker安装ES7.14和Kibana7.14(无账号密码)
一、Docker安装ES7.14.0 1、下载镜像 docker pull elasticsearch:7.14.0 2、docker安装7.14.0 mkdir -p /usr/local/elasticsearch/config mkdir -p /usr/local/elasticsearch/data chmod 777 -R /usr/local/elasticsearch/ echo "http.host: 0.0.0.0" >> /u…...
Zynq中断与AMP~双核串口环回之PS与PL通信
实现思路: 额外配置:通过PL配置计数器,向CPU0和CPU1发送硬中断。 1.串口中断CPU0,在中断中设置接收设置好字长的数据,如果这些数据的数值符合约定的命令,则关闭硬中断,并将这部分数据存入AxiLi…...
【一:实战开发testng的介绍】
目录 1、主要内容1.1、为啥要做接口测试1.2、接口自动化测试落地过程1.3、接口测试范围1.4、手工接口常用的工具1.5、自动化框架的设计 2、testng自动化测试框架基本测试1、基本注解2、忽略测试3、依赖测试4、超时测试5、异常测试6、通过xml文件参数测试7、通过data实现数据驱动…...
C现代方法(第9章)笔记——函数
文章目录 第9章 函数9.1 函数的定义和调用9.1.1 函数定义9.1.2 函数调用 9.2 函数声明9.3 实际参数9.3.1 实际参数的转换9.3.2 数组型实际参数9.3.3 变长数组形式参数(C99)9.3.4 在数组参数声明中使用static(C99)9.3.5 复合字面量 9.4 return语句9.5 程序终止9.5.1 exit函数 9.…...
【算法练习Day23】 复原 IP 地址子集子集 II
📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:练题 🎯长路漫漫浩浩,万事皆有期待 文章目录 复原 IP 地址子集子集 II总…...
fastadmin框架token验证
在FastAdmin框架中,Token验证是一种常见的身份验证方法,用于确保用户请求的安全性和合法性。本文将介绍如何在FastAdmin框架中实现Token验证。 什么是Token验证? Token验证是一种基于令牌(Token)的身份验证方式。在这种方式下,用…...
了解 AI :了解 AI 方面的一些术语 (中英文对照)
本心、输入输出、结果 文章目录 了解 AI :了解 AI 方面的一些术语 (中英文对照)前言AI 方面的一些术语 (中英文对照)AI 方面的一些术语 (中英文对照) - 文字版弘扬爱国精神 了解 AI :…...
【Python学习笔记】对象、方法
1. 对象方法定义 对象通常都拥有属于自己的 方法(英文叫 method )。 对象的方法其实可以看成是对象所拥有的函数。也就是说 这个方法,是属于这个对象的函数。 调用对象的方法,和调用函数差不多,只要在前面加上 所属…...
企业IT资产设备折旧残值如何计算
环境: 企业/公司 IT资产 问题描述: 企业IT设备折旧残值如何计算? 解决方案: 1.按三年折旧 净值原值-月折旧额折旧月份 , 月折旧额原值(1-3%)/36 折旧月份ROUND(E2*(1-3%)/36,2) 2.净值E2-F2*G2...
Linux性能优化--性能工具:下一步是什么
13.0 概述 本章是对一些事情的思索,包括:Linux性能工具的当前状态,哪些仍需要改进以及为什么Linux是当前一个相当不错的进行性能调查的平台。 阅读本章后,你将能够: 了解Linux性能工具箱的漏洞,以及一些理…...
网工内推 | IT主管、高级网工,上市公司,必须持有HCIE认证
01 深圳市飞荣达科技股份有限公司 招聘岗位:高级网络工程师 职责描述: 1. 参与、负责集团公司IT基础技术架构的规划设计、实施及维护、性能优化,包括数据中心机房、网络架构、虚拟化平台、信息安全设备及灾备系统等; 2. 负责集团…...
bulldog 靶机
bulldog 信息搜集 存活检测 详细扫描 后台网页扫描 网页信息搜集 正在开发的如果你正在读这篇文章,你很可能是Bulldog Industries的承包商。恭喜你!我是你们的新老板,组长艾伦布鲁克。CEO解雇了整个开发团队和员工。因此,我们需要迅速招到一…...
如何借助边缘智能网关打造智慧城市便民驿站
智慧城市驿站是一类提供多样化便利服务的新型智能公共设施,通过融合物联网技术、边缘智能技术、新能源技术等,为城市居民整合提供休闲、购物、卫生、广告、安全等公共服务,进一步提升日常生活体验。本篇就为大家介绍如何基于边缘智能网关&…...
谈谈电商App的压测
背景 最近恰逢双十一,大大小小的电商app在双十一之前都会做一次压测,曾经在小公司工作的时候很想知道大公司是如何压测的,有什么高深的压测工具没,本文就来揭露一下 压测真相 在确认使用什么压测工具进行压测之前,我…...
龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...
多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
免费PDF转图片工具
免费PDF转图片工具 一款简单易用的PDF转图片工具,可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件,也不需要在线上传文件,保护您的隐私。 工具截图 主要特点 🚀 快速转换:本地转换,无需等待上…...
BLEU评分:机器翻译质量评估的黄金标准
BLEU评分:机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域,衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标,自2002年由IBM的Kishore Papineni等人提出以来,…...
如何应对敏捷转型中的团队阻力
应对敏捷转型中的团队阻力需要明确沟通敏捷转型目的、提升团队参与感、提供充分的培训与支持、逐步推进敏捷实践、建立清晰的奖励和反馈机制。其中,明确沟通敏捷转型目的尤为关键,团队成员只有清晰理解转型背后的原因和利益,才能降低对变化的…...
深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
一、引言 在深度学习中,我们训练出的神经网络往往非常庞大(比如像 ResNet、YOLOv8、Vision Transformer),虽然精度很高,但“太重”了,运行起来很慢,占用内存大,不适合部署到手机、摄…...
