分布式事务:XA,2PC,3PC,TCC 技术标签: 分布式事务 一.分布式事务产生原因 1.原本的数据是单库单表存储,随着业务的不断扩大数据量不断增多,单库性能支撑不了数据的更新与访问。为了解决数据库上的瓶颈,将数据库进行水平拆分,原来一个库里的事务操作,现在变成了跨数据库的事务操作。 2.随着业务不断增长,将业务中...
一、XA协议 XA是X/Open组织 提出的分布式事务处理规范。XA则规范了TM(事务管理器)与RM(资源管理器)之间的通信接口,在TM与多个RM之间形成一个双向通信桥梁,从而在多个数据库资源下保证ACID四个特性。目前知名的数据库,如Oracle, DB2,mysql等,都是实现了XA接口的,都可以作为RM。所以说XA是数据库的分布式事务,强一...
说起分布式事务的概念,不少人都会搞混淆,似乎好像分布式事务就是TCC。实际上TCC与2PC、3PC一样,只是分布式事务的一种实现方案而已。 TCC(Try-Confirm-Cancel)又称补偿事务。其核心思想是:"针对每个操作都要注册一个与其对应的确认和补偿(撤销操作)"。它分为三个操作: Try阶段:主要是对业务系统做检测及资源预留。
当在一定时间内未收到协调者的commit请求,会自动提交事务,不会一致阻塞等待3PC将2PC的Prepare准备阶段拆分为 2 个阶段,插入了一个 ==PreCommit ==阶段,解决原先在2PC中,由于协调者发生故障而导致参与者无法知晓是否commit或abort的状态而产生的相当长的阻塞问题得以解决有了自动提交事务,一旦发生单点故障,事务...
简介:七种常见分布式事务详解(2PC、3PC、TCC、Saga、本地事务表、MQ事务消息、最大努力通知) 分布式事务:在分布式系统中一次操作需要由多个服务协同完成,这种由不同的服务之间通过网络协同完成的事务称为分布式事务 一、2PC: 2PC,两阶段提交,将事务的提交过程分为资源准备和资源提交两个阶段,并且由事务协调者来协调...
分布式事务讲解之CAP,2PC,3PC,TCC,分布式锁 学习此篇分布式事务前请先学习Spring事务讲解 点击了解Spring事务讲解 1 CAP 1.1 CAP原则 CAP原则又称CAP定理, 指的是在一个分布式系统中,Consistency(一致性) 、Availability(可用性) 、Partition tolerance(分区容错性) , 三者不可兼得。
2PC和3PC都无法保证数据绝对的一致性,一般为了预防这种问题,可以添加一个报警,比如监控到事务异常的时候,通过脚本自动补偿差异的信息。 三、TCC: 1、什么是TCC: TCC(Try Confirm Cancel)是应用层的两阶段提交,所以对代码的侵入性强,其核心思想是:针对每个操作,都要实现对应的确认和补偿操作,也就是业务逻辑的每个...
分布式事务XA协议2PC、3PC、TCC流程解析,XA协议两阶段提交1、X/OpenDTP事务模型是X/Open这个组织定义的一套分布式事务的标准,也就是定义了规范和API接口,由各个厂商进行具体的实现DTP是分布式事物处理(DistributedTransactionProcessing)的简称2、XA协议XA是由X/Open组织
https://github.com/apache/incubator-seata-samples/tree/master/xa-sample/springboot-feign-seata-xa 2.3 2PC缺陷 强一致性,每个分支事务得等待所有分支事务都准备好,才能提交释放 协调者发生故障。分支事务会一直阻塞下去。 3. 3PC 三阶段提交协议(3PC)主要是为了解决两阶段提交协议的阻塞问题,2pc存在的问题是...
说起分布式事务的概念,不少人都会搞混淆,似乎好像分布式事务就是TCC。实际上TCC与2PC、3PC一样,只是分布式事务的一种实现方案而已。 TCC(Try-Confirm-Cancel)又称补偿事务。其核心思想是:"针对每个操作都要注册一个与其对应的确认和补偿(撤销操作)"。它分为三个操作: ...