二阶段提交

✍ dations ◷ 2025-04-26 13:24:41 #分布式计算,数据管理,计算机科学

二阶段提交(英语:Two-phase Commit)是指在计算机网络以及数据库领域内,为了使基于分布式系统架构下的所有节点在进行事务提交时保持一致性而设计的一种算法。通常,二阶段提交也被称为是一种协议(Protocol)。在分布式系统中,每个节点虽然可以知晓自己的操作时成功或者失败,却无法知道其他节点的操作的成功或失败。当一个事务跨越多个节点时,为了保持事务的ACID特性,需要引入一个作为协调者的组件来统一掌控所有节点(称作参与者)的操作结果并最终指示这些节点是否要把操作结果进行真正的提交(比如将更新后的数据写入磁盘等等)。因此,二阶段提交的算法思路可以概括为: 参与者将操作成败通知协调者,再由协调者根据所有参与者的反馈情报决定各参与者是否要提交操作还是中止操作。

需要注意的是,二阶段提交(英语:2PC)不应该与并发控制中的二阶段锁(英语:2PL)混淆。

二阶段提交算法的成立基于以下假设:

以下对二阶段提交算法分阶段进行说明。

有时候,第一阶段也被称作投票阶段,即各参与者投票是否要继续接下来的提交操作。

当协调者节点从所有参与者节点获得的响应消息都为"同意"时:

如果任一参与者节点在第一阶段返回的响应消息为"终止",或者协调者节点在第一阶段的询问超时之前无法获取所有参与者节点的响应消息时:

有时候,第二阶段也被称作完成阶段,因为无论结果怎样,协调者都必须在此阶段结束当前事务。

下述流程图简单示意了二阶段提交算法中协调者和参与者之间的通信流程

    协调者                                              参与者                              QUERY TO COMMIT                -------------------------------->                              VOTE YES/NO           prepare*/abort*                <-------------------------------commit*/abort*                COMMIT/ROLLBACK                -------------------------------->                              ACKNOWLEDGMENT        commit*/abort*                <--------------------------------  end

"*" 所标记的操作意味着此类操作必须记录在稳固存储(英语:Stable storage)上.

二阶段提交算法的最大缺点就在于它的执行过程中间,节点都处于阻塞状态。即节点之间在等待对方的响应消息时,它将什么也做不了。特别是,当一个节点在已经占有了某项资源的情况下,为了等待其他节点的响应消息而陷入阻塞状态时,当第三个节点尝试访问该节点占有的资源时,这个节点也将连带陷入阻塞状态。

另外,协调者节点指示参与者节点进行提交等操作时,如有参与者节点出现了崩溃等情况而导致协调者始终无法获取所有参与者的响应信息,这时协调者将只能依赖协调者自身的超时机制来生效。但往往超时机制生效时,协调者都会指示参与者进行回滚操作。这样的策略显得比较保守。

.

相关

  • 妈妈母亲简称母,或称妈妈,是一种亲属关系的称谓,是子女对双亲中的女性的称呼。母亲和子女是重要的直系亲属关系之一,通常具有亲密关系。一般指生育小孩的女人(即生母);但在有些状况下,仅
  • 恩氟醚恩氟醚(英文Enflurane,系统命名法名称(2-氯-1,1,2-三氟乙基)二氟甲基醚),是一种卤代醚麻醉药,适用于全身麻醉。本药由罗斯·特雷尔(Robert Terrell)于1963年发明并于三年后首次投入
  • 条带状铁矿条状铁层(Banded Iron Formation,简称BIF),又名带状铁矿层、条带状铁矿、带状铁矿或缟状铁矿,是一类岩石的名称,它包含了铁的氧化物、硫化物、碳酸盐类矿物以及燧石,并以条状互层的
  • 正丁硫醇正丁硫醇,学名为1-丁硫醇,也被称作硫氢丁烷,其化学式为C4H9SH,是一种易挥发的淡黄色液体,并且具有极其难闻的恶臭气味,通常被描述为“臭鼬”的气味。事实上,丁硫醇是结构和臭鼬防御
  • 问诊问诊是通过询问病人或陪诊者,了解疾病发生、发展、治疗经过、现在症状、即往史等有关情况的一种方法,是四诊的重要组成部分。问诊时首先应该抓住主诉,根据中医基本理论,从整体出
  • 内惟车站内惟车站为台铁地下化中在台湾铁路管理局纵贯线新设之捷运化简易车站之一,在高雄市鼓山区内惟地区,此车站于2018年10月14日通车。内惟在1953年原设有简易站,但不久后废止。高雄
  • 霍兰鸟霍兰鸟属(属名:Hollanda)是一属已经灭绝的鸟类,属小型掠食性走禽,化石发现于蒙古邻近戈壁阿尔泰省与巴彦洪戈尔省南部交界处的西戈约特组(Barun Goyot Formation)地层。其化石时期
  • 萨沃岛海战萨沃岛海战(The Battle of Savo Island)亦称第一次萨沃岛海战(日方称为第一次所罗门海战(第一次ソロモン海戦),此外日方资料上的“萨沃岛海战”,盟军方面则称为埃斯佩兰斯海角海战);
  • 国家影评人协会国家影评人协会(The National Society of Film Critics)又译美国影评人协会、美国国家影评人协会,是个影评组织,由约60名纽约地区的报纸、周刊、杂志影评人组成。 国家影评人协
  • 内斯里汉·基利希内斯里汉·基利希(土耳其语:Neslihan Kılıç,1993年5月2日-),土耳其女子羽毛球运动员。只列出曾进入半决赛的国际赛事成绩: