`

什么是两阶段提交协议

 
阅读更多
两阶段提交协议

实现分布式事务的关键就是两阶段提交协议。在此协议中,一个或多个资源管理器的活动均由一个称为事务协调器的单独软件组件来控制。此协议中的五个步骤如下:


应用程序调用事务协调器中的提交方法。


事务协调器将联络事务中涉及的每个资源管理器,并通知它们准备提交事务(这是第一阶段的开始)。


为 了以肯定的方式响应准备阶段,资源管理器必须将自己置于以下状态:确保能在被要求提交事务时提交事务,或在被要求回滚事务时回滚事务。大多数资源管理器会 将包含其计划更改的日记文件(或等效文件)写入持久存储区中。如果资源管理器无法准备事务,它会以一个否定响应来回应事务协调器。


事务协调器收集来自资源管理器的所有响应。


在 第二阶段,事务协调器将事务的结果通知给每个资源管理器。如果任一资源管理器做出否定响应,则事务协调器会将一个回滚命令发送给事务中涉及的所有资源管理 器。如果资源管理器都做出肯定响应,则事务协调器会指示所有的资源管理器提交事务。一旦通知资源管理器提交,此后的事务就不能失败了。通过以肯定的方式响 应第一阶段,每个资源管理器均已确保,如果以后通知它提交事务,则事务不会失败。

图 1 和图 2 通过两个顺序图来说明两阶段提交协议。




图 1 显示事务成功(提交)。图 2 显示由于某种原因,其中一个资源管理器无法提交时的两阶段提交协议。


  • 大小: 5.8 KB
  • 大小: 5.9 KB
分享到:
评论

相关推荐

    分布式事务两阶段提交协议的实现方法研究.pdf

    #资源达人分享计划#

    分布式数据库两阶段提交协议研究与改进.pdf

    #资源达人分享计划#

    level-2pc:leveldb的两阶段提交协议

    leveldb的两阶段提交协议。 描述 为本地群集复制提供强一致性。 群集中的每个节点都是可写的,并且从任何节点进行的所有读取都是一致的。 使用支持可注入的传输,例如实现浏览器兼容性。 建立状态 规格 这是如何...

    分布式事务思想和分布式系统入门.txt

    交易中间件与数据库通过 XA 接口规范,使用两阶段提交来完成一个全局事务, XA 规范的基础是两阶段提交协议。 第一阶段是表决阶段,所有参与者都将本事务能否成功的信息反馈发给协调者;第二阶段是执行阶段,协调者...

    TwoPhaseLocking:严格的两阶段锁定协议用于并发控制,使用等待死锁方法来处理死锁

    严格的两阶段锁定协议用于并发控制,使用等待死锁方法来处理死锁 程序的设计与实现: 我设计了两个HashMap来跟踪所有事务,并设计了PriorityQueue来存储等待的事务。 我们将所有操作的列表存储在交易表(TT)和锁定...

    一种基于两阶段封锁的分布式实时提交协议 (2009年)

    分析了当提交状态参与者允许执行状态的参与者访问其数据时,由数据冲突访问而引起的各种依赖关系,提出了一种基于两阶段封锁的乐观提交协议(OCP)。让参与者先发送一个WORK-STARTED消息来代替WORKDONE消息,考虑依赖关系...

    会员版分布式事务.rar

    为了实现分布式事务,需要使用下面将介绍的两阶段提交协议。 * 阶段一:开始向事务涉及到的全部资源发送提交前信息。此时,事务涉及到的资源还有最后一次机会来异常结束事务。如果任意一个资源决定异常结束事务,则...

    论文研究-协议脆弱性分析及其测试研究.pdf

    在网格合同计算模型中,利用代理技术实现了自治网格合同计算协商机制,该协商机制遵循改进的两阶段提交FIPA协议。在服务合同中导入了软服务合同SSC和硬服务合同HSC概念,并指出动态绑定服务之前所生成的软服务合同...

    分布式实时事务一阶段实时提交 (2006年)

    在此基础上,提出了适合于分布式实时事务的一致性实时提交协议——一阶段实时提交协议(1PRCP),1PRCP通过参与者与协调者的一次消息交换,在一个阶段完成分布式实时事务的提交活动。结合超时恢复协议,1PRCP能避免...

    数据库并发控制技术论文

    2PC是指Oracle的两阶段提交协议(Two-Phase Commit protocol)。 2PC用于确保所有分布式事务能够同时提交(Commit)或者回滚(Rollback),以便使的数据库能够处于一致性状态(consistent state)。 分布式事务可以...

    分布式事务入门GitChat问题实录解答

    单数据库的事物隔离级别, 三阶段协议币两阶段提交协议多了一个阶段,那么多出来的那一个阶段操作带来什么好处

    Replicated-Key-Value-Store-for-the-TCP-Protocol:使用两阶段提交算法构建TCP客户端服务器以支持复制

    TCP协议的复制密钥值存储 使用两阶段提交算法构建TCP客户端/服务器以支持复制。

    事务讨论笔记

    XA 是一个两阶段提交协议,该协议分为以下两个阶段: 第一阶段:事务协调器要求每个涉及到事务的数据库预提交(precommit)此操作,并反映是否可以提交. 第二阶段:事务协调器要求每个数据库提交数据。 BASE理论 ...

    大规模SOA服务分布式事务处理-程立.rar

    大规模SOA系统中的分布事务处事_程立,分布式系统的事务处理模型介绍,XA规范,两阶段提交和三阶段提交协议!

    具有状态合法性验证的区块链一致性算法研究.pdf

    传统拜占庭一致性中常见的中心化和去中心化算法在解决合法性验证的过程中存在容错率低、消息复杂度高等问题,为此,提出新的区块链一致性算法,引入两阶段提交和法定人数投票的过程,利用区块链协议的分布式总账特点...

    淘淘商城taotao.mail

    三阶段提交协议,是二阶段提交协议的改进阶段,插入了一个preCommit阶段,使得原先的二阶段提交 执行步骤: 1.协调者向所有参与者发出包含的事务内容的canCommit请求,询问是否可以提交事务,并等待所有参与者回复 2....

    我叫王小贱之简易项目

    三阶段提交协议,是二阶段提交协议的改进阶段,插入了一个preCommit阶段,使得原先的二阶段提交 执行步骤: 1.协调者向所有参与者发出包含的事务内容的canCommit请求,询问是否可以提交事务,并等待所有参与者回复 2....

    分布式事务1

    1.两阶段提交协议(2PC) 1.)一致性 1.)基本可用(Basically Available)

    Tendermint: 共识概览

    Tendermint: 共识概览,...要想成功提交一个块,需要有两个阶段的投票:“预投票”(pre-vote)和“预提交”(pre-commit)。在同一轮提交中,只有超过 2/3 的验证人对同一个块进行了预提交,这个块才能被提交到链上。

    分布式系统中的事务-研究论文

    它们涉及使用两阶段事务提交协议。 第一阶段称为准备阶段。 在第二阶段中,将提交事务或将其回滚。 简体中文:考虑不同类型的交易。 当一个或多个操作员被两个或多个数据库中的数据更新时,将发生分布式事务。 他们...

Global site tag (gtag.js) - Google Analytics