二阶段提交

✍ dations ◷ 2025-12-02 04:28:07 #分布式计算,数据管理,计算机科学

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

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

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

.

相关

  • 马森三色染色法马森三色染色法(Masson's trichrome stain),是一种用于组织学的染色方法。从皮埃尔·马森(英语:Pierre Masson)(1880–1959年)的原始配方开发而来的新配方具有不同的特定应用,但都适
  • 核糖核酸酶核糖核酸酶(英语:ribonuclease,常用缩写:RNase)或称RNA酶,是一种可将RNA水解成小分子组成的核酸酶(nuclease)。可粗分为核糖核酸内切酶(endoribonuclease)与核糖核酸外切酶(exoribonucl
  • 扭曲烷扭曲烷(英语:Twistane,IUPAC名:三环癸烷),又称异三环癸烷,是一种有机化合物,化学式为C10H16。它是一种环烷烃,也是金刚石形(英语:diamondoid)化合物金刚烷最简单的同分异构体。与金刚烷
  • 匀卷层云匀卷层云(学名:Cirrostratus nebulosus,缩写: Cs neb ),又称薄暮卷层云,是卷层云的一种。匀卷层云形似面纱,但云体模糊,没有明显的细节。匀卷层云既可稀薄至几乎完全不可见的程度,也
  • 死神少女《死神少女》(英文:Gloomy Salad Days)是公视拥抱青春灵魂最深处三部曲之二部曲。由《漂浪青春》周美玲导演。2010年4月27日举行开拍记者会,公视于2010年10月9日晚间9点首播。周
  • 普朗克黑体辐射定律在物理学中,普朗克黑体辐射定律(也简称作普朗克定律或黑体辐射定律,英文:Planck's law, Blackbody radiation law)描述,在任意温度 T
  • 游击队南斯拉夫人民解放军和游击队(塞尔维亚-克罗地亚语:Narodnooslobodilačka vojska i partizanski odredi Jugoslavije (NOV i POJ), Народноослободилачка
  • 必要之恶必要之恶(英语:necessary evil)是为了实现好的结果而必须发生的恶事。它是“两害相权取其轻(英语:Lesser_of_two_evils_principle)”中较轻的一方。根据《牛津英语词源词典》,必要
  • 远端肾小管酸中毒远端肾小管性酸中毒(Distal renal tubular acidosis、dRTA、或"1型肾小管酸中毒"(RTA 1))是RTA的传统形式,为RTA第一个描述的病症。远端RTA的特征在于远端肾单位的集合管系统
  • 会计科目表财务会计 · 管理会计 · 会计科目表为会计学相当重要的基本研究方法与辅助工作,它将会计要素视性质分属、分纲的设置,例如现金即为资产会计要素的一大会计科目表。一般来说