zookeeper一致性协议

2PC与3PC

  为了解决分布式一致性问题,著名的一致性协议和算法有:二阶段提交协议、三阶段提交协议和Paxos算法。

  在分布式系统中,每一个机器节点虽然都能够明确地知道自己在进行的事务操作过程中的结果是成功或失败,但却无法直接获取到其它分布式节点的操作结果。为了保持事务处理的ACID特性,就需要引入一个称为“协调者”的组件来统一调度所有分布式节点的执行逻辑。

  2PC(Two-Phase Commit)、3PC就是将一个事务分为多个阶段进行,会造成同步阻塞,详细内容见《从PAXOS到ZOOKEEPER分布式一致性原理与实践》P20。

Paxos算法

  Paxos算法是一种基于消息传递且具有高度容错特性的一致性算法,是解决分布式一致性问题非常有效的方法之一。Paxos算法的目标就是要保证最终有一个提案会被选定,当天被选定后,进程最终也能获取到被选定的提案。

  在该一致性算法中,有三种参与角色(Proposer、Acceptor和Learner表示)

  paxos相关的三篇论文:《The Part-Time Parliament》、《Paxos made simple》、《Fast Paxos》

posted @ 2017-09-10 00:14  理舞  阅读(188)  评论(0编辑  收藏  举报