深入分布式缓存-2PC 3PC

简介: 深入分布式缓存-2PC 3PC

前言

在事务处理、关系型数据库以及计算机网络中,2阶段提交协议(2PC)、3阶段提交协议(3PC)是一种典型的原子提交协议(atomic commitment protocol)。同时,它是一种由协调器来进行管理事务提交、事务回滚的分布式算法。

2PC

协议对于事务提交,包括两个阶段

  • 投票阶段或者事务提交请求阶段
    该阶段,对事务接收方,协调器,发起事务提交的请求,当所有的节点返回响应为true,才进行提交阶段
  • 提交阶段
    当提交请求阶段成功,协调器,开始发起正式事务的提交

2PC 时序图

image.png

image.png

2PC最大的不足,是提交协议是阻塞协议,如果协调器发生故障宕机,则导致参与者无法对事务进行处理

使用2PC原则

在高并发网站中,使用分布式事务2PC协议把握以下原则

  1. 能不用2PC的尽量不要使用,如上所述,两个阶段,其实关键在于第三方协调器,就会考虑协调器的可用性
  2. 要获得事务强一致性,也要在性能和一致性做平衡策略,比如需要的时候,加上超时机制,阶段性补偿机制,类似于Paxos和之后我们将要学习的Raft或者Zookeeper采用的ZAB,采用多数服从少数的策略进行补偿。

\

3PC

3PC 分为三次交互,第一阶段,提交请求阶段,事务协调器会询问参与者是否能够提交Commit,得到肯定响应,第二阶段,进行事务预提交,都确认提交成功之后,第三阶段,进入真实的提交,成功则完成事务,失败,则发起尝试。

\

对比2PC

与2PC相比,3PC 多了个预提交阶段,增加了一个阶段,当都收到响应之后,协议约定,即使此刻,协调器发生问题,那么通过补偿机制,比如超时机制,会自动保证第三阶段一定顺利执行。

image.png

《end》

目录
相关文章
感知偶然性(perceived contingency,PC)量表。
感知偶然性(perceived contingency,PC)量表。感知偶然性(Perceived Contingency,PC)量表是一种用于评估个体对事件之间关系的认知程度的量表。
166 0
|
消息中间件 算法 程序员
分布式事务 2PC
分布式事务是指跨越多个计算机节点的事务,涉及到多个数据库或其他资源的访问和更新。在分布式事务中,由于数据分布在不同的节点上,因此需要采用一些特殊的技术来保证事务的一致性和可靠性,其中最常用的技术之一就是两阶段提交(Two-Phase Commit,2PC)。
136 0
分布式事务 2PC
|
大数据 Java 关系型数据库
Zookeeper 2PC and 3PC
Zookeeper 2PC and 3PC
50 0
|
安全
STM32 配置PC13~PC15
STM32 配置PC13~PC15
365 0
|
消息中间件 缓存 NoSQL
分布式事务 3PC
3PC(Three-Phase Commit)是一种增强型的2PC(Two-Phase Commit)协议,用于解决2PC协议存在的可靠性问题和性能问题。3PC协议将2PC协议的两个阶段分为了三个阶段,同时引入了超时机制,从而提高了协议的可靠性和容错性。
121 0
|
缓存 算法 关系型数据库
深入分布式缓存-2PC 3PC
深入分布式缓存-2PC 3PC
135 0
深入分布式缓存-2PC 3PC
|
算法 关系型数据库 调度
你可能不知道的平时在用的一致性协议2PC、3PC?
在分布式系统中,当一个事务操作需要跨越多个分布式节点时,为了保持事务的ACID特性,就出现了“协调者(Coordinator)”来统一调度所有分布式节点的执行逻辑,而被调度的分布式节点则被称为“参与者(Cohort)”。协调者(Coordinator)负责调度参与者(Cohort)的行为,并最终决定这些参与者(Cohort)是否把事务真正进行提交。基于这个思想,衍生出2PC和3PC两种协议。
186 0
你可能不知道的平时在用的一致性协议2PC、3PC?
|
SQL Oracle 关系型数据库
分布式事务之2PC
分布式事务之2PC
247 0
|
编解码
只有PC可以玩原生4K《英灵殿》?你可能想多了
今年微软和索尼将推出次世代主机,育碧作为全球知名游戏厂商今年也有两款3A大作将要上市,《刺客信条:英灵殿》和《看门狗:军团》。
244 0
只有PC可以玩原生4K《英灵殿》?你可能想多了
|
Web App开发 移动开发 安全
PC 已死,云 PC 取而代之
老式 PC 即将淘汰,其正在被桌面即服务,基于云的 PC 所取代。 据了解, ZDNet 的 Ed Bott 最近指出,十年前人们是如何预测PC 的死亡的,只是为了表明台式 PC 仍然活着而且还很好。事实确实如此,PC 现在仍可以继续使用。但是现如今,幕后知识正在从以用户和 PC 为中心的操作系统转变为基于云的桌面即服务(DaaS)模型。 微软放弃了 PC 上的 Windows,并以其Windows 虚拟桌面(WVD)来取而代之。Windows 虚拟桌面客户端适用于 Windows,Android,Mac,iOS 和HTML5。换句话说,如果用户具有浏览器和PC,就可以将 Windows
233 0
下一篇
无影云桌面