现在的位置: 首页 > 综合 > 正文

ZooKeeper 开放源码的分布式应用程序协调服务

2013年10月30日 ⁄ 综合 ⁄ 共 486字 ⁄ 字号 评论关闭

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,包含一个简单的原语集,是Hadoop和Hbase的重要组件。分布式应用可以使用它来实现诸如:统一命名服务、配置管理、分布式锁服务、集群管理等功能。

  1)ZooKeeper的基本原理

  ZooKeeper是以Fast Paxos算法为基础的,在前一篇blog中大致介绍了一下paxos,而没有提到的是paxos存在活锁的问题,也就是当有多个proposer交错提交时,有可能互相排斥导致没有一个proposer能提交成功,而Fast Paxos作了一些优化,通过选举产生一个leader,只有leader才能提交propose,具体算法可见Fast Paxos。因此,要想弄懂ZooKeeper首先得对Fast Paxos有所了解。

  2)ZooKeeper的基本运转流程

  ZooKeeper主要存在以下两个流程:

  选举Leader

  同步数据

  选举Leader过程中算法有很多,但要达到的选举标准是一致的:

  Leader要具有最高的zxid

  集群中大多数的机器得到响应并follow选出的Leader

抱歉!评论已关闭.