`

2PC和3PC

 
阅读更多

2PC

是计算机网络尤其是在数据库领域内,为了使基于分布式系统架构下的所有节点在进行事务处理过程中能够保持原子性和一致性而设计的算法。


 

协议说明

2PC是将事务的提交过程分成了两个阶段进行处理

阶段一:提交事务请求(投票阶段)

阶段二:执行事务提交(执行阶段)

在阶段二中,协调者会根据参与者的反馈情况来决定最终是否可以进行事务提交操作,正常情况下,包含以下两种可能

  • 执行事务提交
  • 中断事务

 

简单来说,2PC将一个事务的处理过程分为投票和执行两个阶段,其核心是对每个事务都采用先尝试后提交的处理方式,因此可以将2PC看作是一个强一致性的算法。

 

优缺点

2PC优点:原理简单,实现方便

2PC缺点:同步阻塞、单点问题、脑裂、太过保守

 

3PC

是2PC的改进版,其将二阶段提交协议的“提交事务请求”过程一分为二,形成了由canCommit、preCommit、 doCommit 三个阶段组成的事务处理协议

协议说明

阶段一:canCommit

阶段二:preCommit

在阶段二中,协调者会根据各参与者的反馈情况来决定是否可以进行事务的preCommit操作,正常情况下,包含两种可能

  • 执行事务预提交
  • 中断事务

阶段三:doCommit 

在阶段三中,将进行真正的事务提交,会存在以下两种可能的情况。

  • 执行提交
  • 中断事务

需要注意的是,一旦进入阶段三,可能会存在以下两种故障。

协调者出现问题

协调者和参与者之间的的网络出现故障

无论出现哪种情况,最终都会导致参与者无法及时接收到来自协调者的doCommit或是abort请求,针对这样的异常情况,参与者都会在等待超时之后,继续进行事务提交。

 

优缺点

3PC优点:相较于2PC,3PC最大的优点就是降低来参与者的阻塞范围,并且能够在出现单点故障后继续达成一致。

3PC缺点:3PC在去除网络阻塞的同时也引入了新的问题,那就是在参与者接收到preCommit消息后,如果网络出现分区,此时协调者所在的节点和参与者无法进行正常的通信,在这种情况下,该参与者依然会进行事务的提交,这必然出现数据的不一致。

 

 

 

  • 大小: 24.7 KB
  • 大小: 154.1 KB
分享到:
评论

相关推荐

    PC^2在LINUX下的配置和使用

    - 打开`pc2v9.ini`文件,找到`Site1`部分,将`server=localhost:50002`更改为`server=服务器IP:50002`(如果服务器和客户端在同一台机器上,则无需修改)。 #### 三、启动服务器 1. **启动PC^2服务器**: - 使用...

    分布式事务之2PC事务处理原理

    - 高一致性:在所有参与者都能正常响应的情况下,2PC能保证事务的ACID特性,特别是原子性和一致性。 缺点: - 单点故障:协调者节点的故障可能导致整个事务停滞不前。 - 性能瓶颈:协调者需要等待所有参与者回复,...

    S7 200 OPC Server V1.0 PC Acceess SP3

    3. data2.cab、data1.cab: Cabinet 文件格式,通常用于存储安装程序的数据和组件。 4. readmek.doc、readmee.doc、readmec.doc、readmed.doc、readmea.doc、readmeb.doc:这些文档很可能是多个版本的使用说明书或...

    PC817 3D封装

    标题 "PC817 3D封装" 涉及...3. 3D封装技术在提高组件密度和优化散热性能方面的优势。 4. Gullwing引脚布局在PC817封装中的作用,及其对电路板组装的影响。 5. 使用.STEP文件进行三维模型数据交换和设计评估的重要性。

    PC^2 9.1和9.2及其使用说明书

    **PC^2 9.1和9.2详解** PC^2,全称为"Programming Contest Control System",是国际计算机程序设计竞赛(ICPC)中常用的一款在线评测系统。它主要用于组织和管理编程比赛,包括题目提交、自动评测、结果反馈等功能...

    中文版WinXP Tablet PC 2005 SP3 CD2

    自己制作的整合了SP3的Windows XP Tablet PC 2005 CD2,可以与原版Windows XP Professional SP3光盘配合使用直接安装TPC2005 SP3,。本光盘精简去掉了Media Center 2004的安装文件,只包含整合了SP3的TPC2005的安装...

    SIMATIC_PC_Adapter_usbA2.rar

    总的来说,"SIMATIC PC Adapter usbA2.rar"提供了老款西门子PLC与现代PC之间的通信桥梁,使得用户无需因缺乏以太网接口而受限,能够高效地进行自动化系统的维护和升级。通过了解和掌握这款驱动的使用,工程师们可以...

    pc和移动vue2配置

    pc和移动vue2配置

    pcdmis类库文件_c# pc-dmis 读取尺寸, c# pc-dmis-C#工具类资源

    3. **调用API方法**:PC-DMIS API提供了各种方法来访问和操作测量数据。例如,`OpenReport`方法用于打开测量报告,`GetMeasurementResult`用于获取特定测量结果,`GetFeatureByName`可以获取特定特征的信息。 4. **...

    PC钉钉、PC微信、PC企业微信三合一多开

    在现代的办公环境中,PC钉钉、PC微信和PC企业微信是常见的通讯工具,它们各自在企业管理和团队协作中扮演着重要角色。然而,对于需要同时处理多个平台工作流的用户来说,频繁切换应用可能会降低工作效率。因此,“PC...

    TDK磁材手册 PC40 PC47

    TDK磁材手册中涉及PC40和PC47材质,这两个材料广泛用于开关电源、磁芯和变压器等电子元件中。磁芯材料是电子元件中的关键组成部分,尤其是在开关电源中,磁芯的选择和特性对电源的效率和稳定性有着直接的影响。PC40...

    PC-Adapter-USB-A2驱动程序-链接地址.txt

    PC-Adapter-USB-A2驱动程序-链接地址

    英文版WinXP Tablet PC 2005 SP3 CD2

    自己制作的整合了SP3的Windows XP Tablet PC 2005 CD2,可以与原版Windows XP Professional SP3光盘配合使用直接安装TPC2005 SP3,。本光盘精简去掉了Media Center 2004的安装文件,只包含整合了SP3的TPC2005的安装...

    powerpc_eabi_app.rar_PowerPC EABI_PowerPC_EABI_Tools_powerpc_pow

    3. **在线调试**:在嵌入式系统中,调试通常需要特殊的工具和协议,如JTAG(Joint Test Action Group)或SWD(Serial Wire Debug),EABI可能涵盖了这些调试接口的规范。 4. **PowerPC架构**:PowerPC是一种RISC...

    pc2第二部分

    pc2part2,功能强大的pc2,欢迎大家下载!

    save2pc3.55.exe

    save2pc3.55.exe下载FLV文件的工具

    Pc(4457)+,Pc(4440)+和Pc(4312)+:分子还是紧密的五夸克?

    从不确定性考虑和简单模型中的重排衰减特性,我们发现可以将Pc(4457)+,Pc(4440)+和Pc(4312)+分配为JP = 3 / 2−,1 分别是/ 2-和3 / 2-五夸克状态。 分子图中的分配可能不同,尤其是对于Pc(4312)+。 来自...

    pc端仿淘宝-pc端仿淘宝系统-pc端仿淘宝系统源码-pc端仿淘宝管理系统-基于springboot的pc端仿淘宝系统-java

    pc端仿淘宝-pc端仿淘宝系统-pc端仿淘宝系统源码-pc端仿淘宝管理系统-pc端仿淘宝管理系统java代码-pc端仿淘宝系统设计与实现-基于springboot的pc端仿淘宝系统-基于Web的pc端仿淘宝系统设计与实现-pc端仿淘宝网站-pc端...

Global site tag (gtag.js) - Google Analytics