(27)zookeeper的集群角色分配原理

1.zookeeper集群机制

半数机制:集群中半数以上机器存活,集群可用。

zookeeper适合装在奇数台机器上。

Zookeeper集群的节点角色:  Leader 和  follower  Observer

只要集群中有半数以上节点存活,集群就能提供正常服务。

2.zookeeper的集群结构

为了维持高可靠性,zookeeper集群内部有多个节点。所有节点中只有一个会成为leader,其余的角色都是follower。zookeeper的配置文件中需要配置的内容包括集群中有哪些机器以及每台机器的id(选举leader时投票的依据)。而哪台机器是leader(角色分配)并不写在配置文件里,而是由zookeeper内部的自动选举机制使用zab算法(paxos算法的简化版)投票选举产生。

选举出leader后,客户端无论连的是哪台服务器,最终的信息交互都会是和leader进行,leader会实时更新各个follower中的信息,做到整个集群中机器的信息一致。

由于leader每次要更新所有的follower,zookeeper不适合集群很大,更新频繁且对节点一致性要求很严格的场景。

猜你喜欢

转载自www.cnblogs.com/paradis/p/11371613.html