Zookeeper解读

Zookeeper是一种重量级的针对分布式的大型协调系统,是Hadoop的子项目。

他有如下几个功能:

1.选举出leader,所有的写请求都会被转发的leader,然后由leader广播给所有follower,保证数据的一致性

2.如果leader挂掉,用选举算法,会再选举出leader,

3.配置文件的同步更新,类似isync的功效

4.分布式锁服务,应该是用了Fast Paxos算法。

缺陷:

需要给每个zookeeper 1G左右的内存,如果可能的话,最好有独立的磁盘。 (独立磁盘可以确保zookeeper是高性能的。

提高了对运维的要求,和维护时的复杂度

由于zookeeper的写入需要通过leader,然后这个写入的消息需要传播到半数以上的follower通过才能是完整写入,所以整个集群中写入的性能无法通过增加服务器数量达到目的,相反,整个集群中follower数量越多,整个集群写入的性能越差。

zookeeper集群中的每一台服务器可以提供数据的读取服务,所有整个集群中的服务器数量越多,读取的性能就约好。但follower增加又会降低整个集群的写的能力

发生故障的时,排查问题加大了难度,底层不是自己实现的

他的优势在我们的服务器中使用必要性并不大,使用它带来的内存占用,磁盘的要求,对运维的要求,维护代价的提高,都不是我们想要的。

你可能感兴趣的:(Zookeeper解读)