二阶段提交

✍ dations ◷ 2025-12-06 10:57: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)上.

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

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

.

相关

  • 米勒-尤里实验米勒-尤里实验(Miller-Urey experiment)是一项模拟假设性早期地球环境的实验,研究目的是测试化学演化的发生情况。尤其是针对亚历山大·欧帕林与约翰·伯顿·桑验,该学说认为早
  • 调酒鸡尾酒(英语:Cocktail)是一种混合饮料,一般含有一种或多种类型的蒸馏酒,通常亦会加入其他原料如利口酒、果汁、天然气泡水、苏打水、通宁水、赛尔脱兹气泡水(seltzer)、茶、咖啡、
  • 新选组《新选组》(しんせんぐみ),是1969年12月5日公开(1970年1月1日起全日本公映)的时代剧,与三船制片公司共同制作,纪念三船敏郎演出第100部作品。文久三年,因为“尊王攘夷”的政策呼声高
  • 南希·里根南希·戴维斯·里根(英语:Nancy Davis Reagan,1921年7月6日-2016年3月6日),本名安妮·弗朗西斯·罗宾斯(Anne Frances Robbins),美国女演员与前美国第一夫人,是第40任总统罗纳德·里根
  • 基连巴瑞综合征古兰-巴雷综合征(Guillain-Barré syndrome,缩写为GBS),又称基连巴瑞症候群、脱髓鞘多发性神经炎、吉兰-巴雷综合征、古兰-巴雷综合征。是一种因免疫系统损害周围神经系统,而导致的
  • 兴义民族师范学院兴义民族师范学院为中国贵州省兴义市的一所公立高校。学院设有12个系,分别为政史系、中文系、英语系、数学系、物理系、化生系、计科系、体育系、艺术系、教育管理科学系、公
  • 药物不良反应药物不良反应(英语:adverse drug reaction,简称ADR)是患者在使用某种药物的治疗疾病的时候产生的与治疗无关的作用,而这种作用一般都对患者的治疗不利。不良反应是药物所具有的两
  • 日本驻美国大使馆日本驻美国大使馆(日语:在アメリカ合衆国日本大使館; 英语:Embassy of Japan in the United States of America)是日本国驻在美利坚合众国的最高官方代表机构,设立于1860年,为日本
  • 汉字树汉字树,是以树状结构重建汉字部首表的一套方法,目的是要解决汉字部首缺乏系统化的问题。东汉许慎《说文解字》将汉字基本符号进行归纳,共归纳出540个部首,清朝吴任臣《字汇补》
  • 莎瓦·阿迦汗王妃莎瓦·阿迦汗王妃(Princess Salwa Aga Khan;1988年8月5日-),美国知名模特儿。婚前姓名为卡德拉·斯皮尔斯(Kendra Spears)。她曾是高级时装品牌:Prada、Calvin Klein、Giorgio Arman