两阶段提交协议
实现分布式事务的关键就是两阶段提交协议。在此协议中,一个或多个资源管理器的活动均由一个称为事务协调器的单独软件组件来控制。此协议中的五个步骤如下:
•
应用程序调用事务协调器中的提交方法。
•
事务协调器将联络事务中涉及的每个资源管理器,并通知它们准备提交事务(这是第一阶段的开始)。
•
为 了以肯定的方式响应准备阶段,资源管理器必须将自己置于以下状态:确保能在被要求提交事务时提交事务,或在被要求回滚事务时回滚事务。大多数资源管理器会 将包含其计划更改的日记文件(或等效文件)写入持久存储区中。如果资源管理器无法准备事务,它会以一个否定响应来回应事务协调器。
•
事务协调器收集来自资源管理器的所有响应。
•
在 第二阶段,事务协调器将事务的结果通知给每个资源管理器。如果任一资源管理器做出否定响应,则事务协调器会将一个回滚命令发送给事务中涉及的所有资源管理 器。如果资源管理器都做出肯定响应,则事务协调器会指示所有的资源管理器提交事务。一旦通知资源管理器提交,此后的事务就不能失败了。通过以肯定的方式响 应第一阶段,每个资源管理器均已确保,如果以后通知它提交事务,则事务不会失败。
图 1 和图 2 通过两个顺序图来说明两阶段提交协议。
图 1 事务提交
图 1 显示事务成功(提交)。图 2 显示由于某种原因,其中一个资源管理器无法提交时的两阶段提交协议。
图 2 事务被回滚
相关推荐
#资源达人分享计划#
#资源达人分享计划#
leveldb的两阶段提交协议。 描述 为本地群集复制提供强一致性。 群集中的每个节点都是可写的,并且从任何节点进行的所有读取都是一致的。 使用支持可注入的传输,例如实现浏览器兼容性。 建立状态 规格 这是如何...
交易中间件与数据库通过 XA 接口规范,使用两阶段提交来完成一个全局事务, XA 规范的基础是两阶段提交协议。 第一阶段是表决阶段,所有参与者都将本事务能否成功的信息反馈发给协调者;第二阶段是执行阶段,协调者...
为了实现分布式事务,需要使用下面将介绍的两阶段提交协议。 * 阶段一:开始向事务涉及到的全部资源发送提交前信息。此时,事务涉及到的资源还有最后一次机会来异常结束事务。如果任意一个资源决定异常结束事务,则...
2PC是指Oracle的两阶段提交协议(Two-Phase Commit protocol)。 2PC用于确保所有分布式事务能够同时提交(Commit)或者回滚(Rollback),以便使的数据库能够处于一致性状态(consistent state)。 分布式事务可以...
XA 是一个两阶段提交协议,该协议分为以下两个阶段: 第一阶段:事务协调器要求每个涉及到事务的数据库预提交(precommit)此操作,并反映是否可以提交. 第二阶段:事务协调器要求每个数据库提交数据。 BASE理论 ...
19.2. 2 两阶段提交协议 47 19.2.1. 2.1 预提交阶段 48 19.2.2. 2.2 提交阶段 48 19.3. 3 分布式事务应用框架 48 19.3.1. 3.1 角色 48 19.3.2. 3.2 交互时序 49 19.3.3. 3.3 关键点 50 19.3.4. 参考 50 20. Jvm底层...
单数据库的事物隔离级别, 三阶段协议币两阶段提交协议多了一个阶段,那么多出来的那一个阶段操作带来什么好处
1.两阶段提交协议(2PC) 1.)一致性 1.)基本可用(Basically Available)
由于数据量的巨大,大部分Web应用都需要部署很多个数据库实例。这样,有些用户操作就可能需要去修改多个数据库实例中的数据。传统的解决方法是使用分布式事务保证数据的全局一致性,经典的方法是使用两阶段提交协议^
[分布式事务]:基于支持两阶段提交协议的数据库,提供的跨应用及数据库的解决数据一致性解决方案。 [幂等]:为了保证保证数据一致性,在跨服务或者服务内部进行数据交换时,通过交换唯一ID来保证数据一致的机制。
严格的两阶段锁定协议用于并发控制,使用等待死锁方法来处理死锁 程序的设计与实现: 我设计了两个HashMap来跟踪所有事务,并设计了PriorityQueue来存储等待的事务。 我们将所有操作的列表存储在交易表(TT)和锁定...
Web服务具有良好的互操作性,能有效地支持软件的集成。在集成和交互过程中,Web服务需要事务的支持获得一致和可靠的结果...在协调器和参与者的交互过程中使用两阶段提交协议保证事务的原子性和一致性。该系统在处理过程中
分析了当提交状态参与者允许执行状态的参与者访问其数据时,由数据冲突访问而引起的各种依赖关系,提出了一种基于两阶段封锁的乐观提交协议(OCP)。让参与者先发送一个WORK-STARTED消息来代替WORKDONE消息,考虑依赖关系...
我们不支持分布式事务处理协调器(DTC)或负责在多个云资源之间协调事务的两阶段提交协议。 我们需要一种协调多个本地交易的机制。 什么是传奇模式? Saga是一种用于处理“长期交易”(LLT)的设计模式,由Garcia-...
在网格合同计算模型中,利用代理技术实现了自治网格合同计算协商机制,该协商机制遵循改进的两阶段提交FIPA协议。在服务合同中导入了软服务合同SSC和硬服务合同HSC概念,并指出动态绑定服务之前所生成的软服务合同...
在此基础上,提出了适合于分布式实时事务的一致性实时提交协议——一阶段实时提交协议(1PRCP),1PRCP通过参与者与协调者的一次消息交换,在一个阶段完成分布式实时事务的提交活动。结合超时恢复协议,1PRCP能避免...
TCP协议的复制密钥值存储 使用两阶段提交算法构建TCP客户端/服务器以支持复制。
大规模SOA系统中的分布事务处事_程立,分布式系统的事务处理模型介绍,XA规范,两阶段提交和三阶段提交协议!