1.什么是Zookeeper
- 是一个为用户的分布式应用程序提供协调的服务
- 也是为别的分布式程序服务的
- 本身也是一个分布式程序(只要半数以上节点存储,就能正常提供服务)
2.Zookeeper机制
只要有半数以上的节点存活,就能正常提供服务(适合安装在基数台机器上)
3.Zookeeper 在集群中的作用
①为别的分布式程序提供协调服务
②为集群高可用提供服务,解决了集群单点故障问题
4.Zookeeper 的主从选取机制
票数过半就可以选举为leader
有五个人参加选举,获得选票数超过5/2=(即2)时,成为leader,第一轮只能投给自己
第一轮: A启动,投给自己1票,票数为1不大于2, A没有选为leader进入looking(竞选状态).
第二轮: 重新投票,B启动,投给自己1票,然后B的leaderID大,所以A给B投1票,B获得2票不大于2,没有成为leader, A和B进入looking.
第三轮: 重新投票,C 启动,投给自己1票,C的leaderID最大,所以A 和 B 都给C投 1票,获得3票大于2,选举为leader, A 和 B 成为flower.
后面几轮因为已经选举出leader,D , E 都为flower.