简单记录下3PC

三PC分为三个阶段:CanCommit,PreCommit, DoCommit

整个分布式系统中,有一个组织者,其他属于参与者,当一个组织者挂了,会从其他可用site中选一个组织者出来,降低阻塞,避免单点问题

下面按序介绍三个阶段:

(1)CanCommit

        组织者向参与者发送询问“Request-Precommit”,仅在回复全部为Yes时进入下一步

(2)PreCommit

  组织者向参与者发送请求“PreCommit”,收到的参与者开始执行Txn,将事务记录进日志,但不提交,完成后返回ACK,仅在全部收到Yes后进入下一步

  *任何单点超时或失败都会导致其他参与者终端进程

(3)DoCommit

  组织者向参与者发送请求“DoCommit”(返回ACK表示提交成功)

  *超时后继续执行(inconsistency)

3PC在网络传输有问题时不可靠

 

 

posted @ 2018-06-15 03:45  森淼clover  阅读(120)  评论(0编辑  收藏  举报