二阶段提交

✍ dations ◷ 2025-10-05 11:01:23 #分布式计算,数据管理,计算机科学

二阶段提交(英语: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)上.

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

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

.

相关

  • 人体核心温度人体体温、人体正常体温(英语:Human body temperature、Normal human body temperature、normothermia、或 euthermia, )测量出的结果取决于在一天中的时间中身体内发生的变化,
  • 柏林自由大学柏林自由大学(德语:Freie Universität Berlin, FU Berlin)成立于1948年12月4日,前身为柏林大学,主校址位于柏林达雷姆(英语:Dahlem (Berlin))(Berlin-Dahlem)。为德国首都地区四所大
  • The Arabidopsis Information Resource拟南芥(学名:Arabidopsis thaliana),又名阿拉伯芥、鼠耳芥、阿拉伯草,是一种原生于欧亚大陆的小型开花植物。拟南芥被认为是一种杂草;它是在路边和被扰动土地上被找到的。拟南芥
  • 同源基因同源基因(Homeotic gene)是定义身体各部分组成身体部位的基因。对细胞分裂很重要的Hox基因和ParaHox基因便其中的例子。在ABC模型中带有的MADS盒蛋白基因是另一个例子。同源异
  • 柯利牧羊犬苏格兰牧羊犬(Rough Collie)从英文字义上看又被称为粗毛牧羊犬,而可利牧羊犬是常见的俗称。此类犬种为历史悠久的牧羊犬,原产于苏格兰。因为知名电视剧《灵犬莱西》而广为众人所
  • 奇幻小说奇幻文学是指文学类型的奇幻作品创作,主要的形式为奇幻小说。广义上含有奇幻要素的文学作品也包括在内,像是玄幻小说、武侠小说,以及古代所流传的童话、神话、民间传奇故事。古
  • 北非战役英国陆军摄影师Len Chetwyn中士 摄于1942年10月24日。第二次阿拉曼战役,是第二次世界大战中北非战场的转折点。这次战役从1942年10月23日一直持续到11月3日。伯纳德·劳·蒙
  • 安远县安远县在中国江西省南部、贡水支流濂江流贯,是赣州市所辖的一个县。安远县始建于南朝梁。大同十年(公元 544 年)析雩都县置安远县,因境内“安远水”(今濂江)得名。隋开皇年间并入
  • 维新会维新会(越南语:Duy Tân hội/.mw-parser-output .han-nom{font-family:"Nom Na Tong","Han-Nom Gothic","Han-Nom Ming","HAN NOM A","HAN NOM B","Ming-Lt-HKSCS-UNI-H","Min
  • 石川健太郎石川健太郎(1970年2月12日-),前日本足球运动员。