Zookeeper面试题

一:ZK的选举机制

  假使有3台服务器,id分别为1、2、3:

                  1、服务器1启动,投自己一票,启动的服务器未达半数以上,此时状态为looking

                  2、服务器2启动,重新投票,1和2都投自己1票并交换选票信息,1发现2的id比自己大,把自己的票重写投给2,此时服务器已经启动半数以上,完成选举。1为0票,2为2票,2就是LEADING

  如果所有服务器同时启动的话,id最大的服务器为LEADING

 

二:ZK的监听原理

  

 

三:ZK的部署方式有哪些?ZK中的角色有哪些?集群最少需要几台?常用命令?

  1、单机模式部署和集群模式部署

  2、LEADER:Leader作为整个Zookeeper集群的主节点,负责响应所有对Zookeeper状态变更的请求。它会将每个状态更新请求进行排序和编号,以便保证整个集群内部消息处理的FIFO。

    Follower:除了响应本服务器上的读请求外,Follower还要处理Leader的提议,并在Leader提交该提议时在本地也进行提交。Follower处理提议的过程已经在ZAB协议中描述过了。

   Observer:如果Zookeeper集群的读取负载很高,或者客户端多到跨机房,可以设置一些observer服务器,以提高读取的吞吐量。Observer和Follower比较相似,只有一些小区别:首先observer不属于法定人数,

           即不参加选举也不响应提议;其次是observer不需要将事务持久化到磁盘,一旦observer被重启,需要从leader重新同步整个名字空间。

  3、最少3台,最好为奇数台

  4:ls create get delete set

 

 

posted @ 2020-03-26 20:32  拔丝小红薯  阅读(466)  评论(0编辑  收藏  举报