zookeeper
应用程序协调服务 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
本文详细解析了ZooKeeper作为分布式应用程序协调服务的核心原理及运行流程,包括其基于FastPaxos算法的基础原理、选举Leader的过程、以及同步数据的机制。文章旨在为读者提供对ZooKeeper深入理解的全面指导。
1万+

被折叠的 条评论
为什么被折叠?



