分布式事务XA、TCC、AT总结
TCC和AT在第一阶段都会直接将事务提交(commit),如果需要回滚,TCC则需要在Cancel阶段自己实现一段业务逻辑来完成数据的回滚。注意,此时是写补偿sql来完成回滚保证数据的一致性。
而AT模式会将一阶段执行的sql记录在undo_log表中,然后通过整个undo_log来自动完成回滚,不需要程序员手动写补偿代码。这样也是阿里首推AT模式的原因,一个注解即可搞定分布式事务。
其次,TCC可以不依赖于关系型数据库,比如我们的远程操作可能是操作Redis、MongoDB等。因为TCC中的各阶段的逻辑都是我们手动来实现的,所以可以不依赖于数据库事务。
而AT模式必须要依赖于数据库事务,也就是说远程服务的方法必须加@Transaction
注解,这样TM才能感知到。
分布式事务XA、TCC、AT总结相关推荐
- Seata分布式事务XA与AT全面解析
Seata 分布式事务 XA与AT Seata 是一款开源的分布式事务解决方案,star高达17300+,社区活跃度极高,致力于在微服务架构下提供高性能和简单易用的分布式事务服务. 注:本期分享借鉴于 ...
- mysql xid原理_MySQL数据库分布式事务XA实现原理分析
[IT168 技术]MySQL XA原理 MySQL XA分为两类,内部XA与外部XA;内部XA用于同一实例下跨多个引擎的事务,由大家熟悉的Binlog作为协调者;外部XA用于跨多MySQL实例的分布 ...
- mysql xa 实现_MySQL数据库分布式事务XA的实现原理分析
1 原理 关于MySQL数据库的分布式事务XA,分布式事务实现的原理,可见[3];关于MySQL XA的说明,可见[1][2]. MySQL XA分为两类,内部XA与外部XA;内部XA用于同一实例下跨 ...
- ShardingSphere RAW JDBC 分布式事务XA 代码示例
ShardingSphere RAW JDBC 分布式事务XA 代码示例 项目工程在:transaction-2pc-xa-raw-jdbc-example 代码简介 基于ShardingSp ...
- MySQL数据库分布式事务XA实现原理分析
MySQL XA分为两类,内部XA与外部XA;内部XA用于同一实例下跨多个引擎的事务,由大家熟悉的Binlog作为协调者;外部XA用于跨多MySQL实例的分布式事务,需要应用层介入作为协调者(崩溃时的 ...
- 分布式事务:XA,2PC,3PC,TCC,SEATA(AT)
一.分布式事务产生原因 1.原本的数据是单库单表存储,随着业务的不断扩大数据量不断增多,单库性能支撑不了数据的更新与访问.为了解决数据库上的瓶颈,将数据库进行水平拆分,原来一个库里的事务操作,现在变成 ...
- 6 张图带你彻底搞懂分布式事务 XA 模式
作者 | 朱晋君 来源 | 阿里巴巴云原生公众号 XA 协议是由 X/Open 组织提出的分布式事务处理规范,主要定义了事务管理器 TM 和局部资源管理器 RM 之间的接口.目前主流的数据库,比如 o ...
- [转]分布式事务之TCC服务设计和实现注意事项
1.TCC简介 TCC是一种比较成熟的分布式事务解决方案,可用于解决跨库操作的数据一致性问题: TCC是服务化的两阶段编程模型,其Try.Confirm.Cancel 3个方法均由业务编码实现: 其中 ...
- 分布式事务模型--TCC
本文来说下分布式事务模式之TCC,接着上文XA Specification来说 文章目录 概述 TCC TCC 模型将事务的提交划分为两个阶段 举个例子 特点剖析 本文小结 概述 事务是一组不可分组的 ...
最新文章
- oracle根据一张表更新另外一张表
- 24点游戏c语言链表做法,C语言实现24点程序(示例代码)
- 比杠精网友更可怕的,是懂王同事
- Redis连接出现Error: Connection reset by peer的问题是由于使用Redis的安全模式
- Linq to sql和lambda
- HBase 6、用Phoenix Java api操作HBase
- PAT甲级题目翻译+答案 AcWing(哈希表)
- 苹果mac休眠快捷键_Mac技巧|如何高效使用苹果便笺?用便笺快捷键快速完成操作...
- ionic常见问题及解决方案
- 圆心角 圆弧上点坐标_数控加工中心CNC的G02/G03圆弧指令的I、J、与R的区别
- 二十多岁不信,三十多岁却深信不疑的道理
- 测试项目开源_测验您对开源的承诺
- coloros11跟Android,安卓10与安卓11究竟差异在哪里?我们拿这两台新机试了一下
- java位宽_java数据类型
- WebStorm汉化包下载(以及Android Studio,IntelliJIDEA等的汉化包下载)
- 有关电动自行车上牌的知识,快来围观~
- Java毕设项目博雅楼自习室预约系统计算机(附源码+系统+数据库+LW)
- 腾讯校园招聘--一面(技术1对1)面经
- OVER(PARTITION BY)使用方法
- Flutter FFI实践
热门文章
- 因与公司存在分歧,寒武纪 CTO 梁军离职了
- cellpadding 和cellspacing区别
- dubbo2.7.x调用出现错误No provider available from registry localhost:9090 for service问题汇总并持续追踪
- oracle awr使用方式,Oracle中AWR的使用
- A除以B(模拟除法)
- 纯化水系统加药配制规程
- Attention机制学习(一)传统Attention机制
- C++常见内存错误及解决方案
- 请问哪里可以下载到惠普打印机的驱动,统信UOS系统
- 缺陷管理工具比较(转自测试达人小龙虾的博客)