分布式一致性算法2 pc和3个人电脑

  

为了解决分布式一致性问题,产生了不少经典的分布式一致性算法,本文将介绍其中的2 pc和3 pc.2pc即两阶段提交,译为二阶段提交协议.3PC即三相提交,译为三阶段提交协议。

  

分布式系统和分布式一致性问题

  


分布式系统,即运行在多台不同的网络计算机上的软硬件系统,并且仅通过消息传递来进行通信和协调。
分布式一致性问题,即相互独立的节点之间如何就一项决议达成一致的问题。

  

2 pc

  


2 pc,二阶段提交协议,即将事务的提交过程分为两个阶段来进行处理:准备阶段和提交阶段。事务的发起者称协调者,事务的执行者称参与者。

<强>阶段1:准备阶段
1,协调者向所有参与者发送事务内容,询问是否可以提交事务,并等待所有参与者答复。
2,各参与者执行事务操作,将撤销和重做信息记入事务日志中(但不提交事务)。
3,如参与者执行成功,给协调者反馈是的,即可以提交;如执行失败,给协调者反馈不,即不可提交。

<强>阶段2:提交阶段

此阶段分两种情况:所有参与者均反馈是的,或任何一个参与者反馈。
所有参与者均反馈是的时,即提交事务。
任何一个参与者反馈没有时,即中断事务。

提交事务:(所有参与者均反馈YES)
1,协调者向所有参与者发出正式提交事务的请求(即提交请求)。
2,参与者执行提交请求,并释放整个事务期间占用的资源。
3,各参与者向协调者反馈Ack完成的消息。
4,协调者收到所有参与者反馈的Ack消息后,即完成事务提交。

附如下示意图:

分布式一致性算法2 pc和3个人电脑”> <br/> <br/>中断事务:(任何一个参与者反馈NO) <br/> 1,协调者向所有参与者发出回滚请求(即回滚请求)。<br/> 2,参与者使用阶段1中的撤销信息执行回滚操作,并释放整个事务期间占用的资源。<br/> 3,各参与者向协调者反馈Ack完成的消息。<br/> 4,协调者收到所有参与者反馈的Ack消息后,即完成事务中断。<br/> <br/>附如下示意图:<br/> <br/> <img src=分布式一致性算法2 pc和3个人电脑