2PC和3PC
原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11484077.html
2PC
是计算机网络尤其是在数据库领域内,为了使基于分布式系统架构下的所有节点在进行事务处理过程中能够保持原子性和一致性而设计的算法。

协议说明
2PC是将事务的提交过程分成了两个阶段进行处理
阶段一:提交事务请求(投票阶段)
阶段二:执行事务提交(执行阶段)
在阶段二中,协调者会根据参与者的反馈情况来决定最终是否可以进行事务提交操作,正常情况下,包含以下两种可能
- 执行事务提交
- 中断事务
简单来说,2PC将一个事务的处理过程分为投票和执行两个阶段,其核心是对每个事务都采用先尝试后提交的处理方式,因此可以将2PC看作是一个强一致性的算法。
优缺点
2PC优点:原理简单,实现方便
2PC缺点:同步阻塞、单点问题、脑裂、太过保守
3PC
是2PC的改进版,其将二阶段提交协议的“提交事务请求”过程一分为二,形成了由canCommit、preCommit、 doCommit 三个阶段组成的事务处理协议

协议说明
阶段一:canCommit
阶段二:preCommit
在阶段二中,协调者会根据各参与者的反馈情况来决定是否可以进行事务的preCommit操作,正常情况下,包含两种可能
- 执行事务预提交
- 中断事务
阶段三:doCommit
在阶段三中,将进行真正的事务提交,会存在以下两种可能的情况。
- 执行提交
- 中断事务
需要注意的是,一旦进入阶段三,可能会存在以下两种故障。
协调者出现问题
协调者和参与者之间的的网络出现故障
无论出现哪种情况,最终都会导致参与者无法及时接收到来自协调者的doCommit或是abort请求,针对这样的异常情况,参与者都会在等待超时之后,继续进行事务提交。
优缺点
3PC优点:相较于2PC,3PC最大的优点就是降低来参与者的阻塞范围,并且能够在出现单点故障后继续达成一致。
3PC缺点:3PC在去除网络阻塞的同时也引入了新的问题,那就是在参与者接收到preCommit消息后,如果网络出现分区,此时协调者所在的节点和参与者无法进行正常的通信,在这种情况下,该参与者依然会进行事务的提交,这必然出现数据的不一致。
2PC和3PC的更多相关文章
- 分布式系统理论基础 - 一致性、2PC和3PC
引言 狭义的分布式系统指由网络连接的计算机系统,每个节点独立地承担计算或存储任务,节点间通过网络协同工作.广义的分布式系统是一个相对的概念,正如Leslie Lamport所说[1]: What is ...
- 三:分布式事务一致性协议2pc和3pc
一:分布式一致性协议--->对于一个分布式系统进行架构设计的过程中,往往会在系统的可用性和数据一致性之间进行反复的权衡,于是就产生了一系列的一致性协议.--->长期探索涌现出一大批经典的一 ...
- 分布式一致性算法2PC和3PC
为了解决分布式一致性问题,产生了不少经典的分布式一致性算法,本文将介绍其中的2PC和3PC.2PC即Two-Phase Commit,译为二阶段提交协议.3PC即Three-Phase Commit, ...
- 分布式事务之深入理解什么是2PC、3PC及TCC协议?
导读 在上一篇文章<[分布式事务]基于RocketMQ搭建生产级消息集群?>中给大家介绍了基于RocketMQ如何搭建生产级消息集群.因为本系列文章最终的目的是介绍基于RocketMQ的事 ...
- 分布式系统的一致性协议之 2PC 和 3PC
在分布式系统领域,有一个理论,对于分布式系统的设计影响非常大,那就是 CAP 理论,即对于一个分布式系统而言,它是无法同时满足 Consistency(强一致性).Availability(可用性) ...
- 分布式理论基础(一)一致性及解决一致性的两种方式:2PC和3PC (转载 不错)
分布式理论基础(一)一致性及解决一致性的两种方式:2PC和3PC 1 一致性 1.1 简述 一致性,是指对每个节点一个数据的更新,整个集群都知道更新,并且是一致的 假设一个具有N个节点的分布式系统,当 ...
- 分布式理论系列(二)一致性算法:2PC 到 3PC 到 Paxos 到 Raft 到 Zab
分布式理论系列(二)一致性算法:2PC 到 3PC 到 Paxos 到 Raft 到 Zab 本文介绍一致性算法: 2PC 到 3PC 到 Paxos 到 Raft 到 Zab 两类一致性算法(操作原 ...
- 分布式一致性协议-2PC与3PC(二)
一.分布式一致性 一个事务需要跨多个分布式节点,又要保持事务的ACID特性,需要引入协调者来统一调度所有分布式节点的执行逻辑,被调度的节点称为参与者. 协调者负责调用参与者,并决定最终是否提交事务.基 ...
- 【转载】分布式系统理论基础 - 一致性、2PC和3PC
引言 狭义的分布式系统指由网络连接的计算机系统,每个节点独立地承担计算或存储任务,节点间通过网络协同工作.广义的分布式系统是一个相对的概念,正如Leslie Lamport所说[1]: What is ...
- 分布式事务(1)---2PC和3PC理论
分布式事务(1)---2PC和3PC理论 分布式事物基本理论:基本遵循CPA理论,采用柔性事物特征,软状态或者最终一致性特点保证分布式事物一致性问题. 分布式事物常见解决方案: 2PC两段提交协议 3 ...
随机推荐
- Thymeleaf 基本用法总结
Thymeleaf 基本用法总结 一.引用命名空间 <html xmlns:th="http://www.thymeleaf.org"> 在html中引入此命名空间,可 ...
- Ubuntu查找软件命令
查找软件: apt-cache search <your search item>
- C#基础提升系列——C# LINQ
C# LINQ LINQ(Language Integrated Query,语言集成查询).在C# 语言中集成了查询语法,可以用相同的语法访问不同的数据源. 命名空间System.Linq下的类En ...
- 明明不太合适但是还是被用在配置文件和数据传输上的XML
XML概述: 概念: 可扩展的标记语言. 功能: 作为数据本地存储的格式.(已淘汰)作为结构化存储的方式,不如数据库效率高.目前一部分移动设备中还在使用. 作为网络中传输数据的格式.(已淘汰)作为网络 ...
- Centos6安装zabbix-agent
一.安装yum源 rpm -ivh https://repo.zabbix.com/zabbix/3.4/rhel/6/x86_64/zabbix-release-3.4-1.el6.noarch.r ...
- 媲美5G的Wifi网速、“备战”资产一键领……揭秘双11小二背后的保障力量
如今,双11不光是购物狂欢节,更是对技术的一次“大考”,对于阿里巴巴企业内部运营的基础保障技术而言,亦是如此. 回溯双11历史,这背后也经历过“小米加步枪”的阶段:作战室从随处是网线,交换机放地上的“ ...
- 全面质量管理体系运转的基本方法 PDCA
PDCA管理循环 PDCA循环作为全面质量管理体系运转的基本方法,其实是需要搜集大量数据资料,并综合运用各种管理技术和方法.全面质量管理活动的全部过程,就是质量计划的制订和组织实现的过程,这个过程就是 ...
- spring事务传播行为讲解转载
https://segmentfault.com/a/1190000013341344 前言 Spring在TransactionDefinition接口中规定了7种类型的事务传播行为.事务传播行为是 ...
- 练习1-20 编写程序detab,将输入中的制表符替换成适当数目的空格.
1.问题描述 编写程序detab,将输入中的制表符替换成适当数目的空格,使空格充满到下一个制表符终止位的地方. 假设制表符终止位的位置是固定的, 换句话说每隔n列就会出现一个制表符终止位. 2.描述 ...
- .net 运行原理
刚学习那会,感觉.net运行原理是很复杂的,也去了解过相关的东西,但是很晦涩,难于理解.感觉有些难了,也就放弃了解了.今天回头想想,也是当时有些毛躁了,不管怎么说,时至今日是有些明白运行原理. 从头开 ...