JAVA高级开发工程师面试系列——Zookeeper

zookeeper选举机制

zookeeper集群

zookeeper如何进行数据同步

zookeeper分布式锁

zookeeper角色

JAVA高级开发工程师面试系列——Zookeeper_第1张图片

为什么需要Observer

架构承受较大规模Client,需要增加Server,Server增加,则选举投票耗时变长,ZK集群恢复写功能的耗时变长,这就是写性能下降。可以考虑增加Observer,Observer只接收投票结果,而不参与投票,增加Observer不影响集群写性能,另外Observer挂掉也不影响集群。Observer可以跨数据中心部署,即将Observer和应用部署在一起,以便应用就近获取ZK信息。而Leader和Follower不可以,分开部署会因网络延迟增加选举投票耗时。Observer跨数据中心部署也并非百分之百好,Observer需要和Leader同步投票结果,另外Observer还需要将客户端请求转发给集群Leader,同样会收到网络延迟的影响。

如何启用Observer

  • 在对应节点的配置文件中增加如下配置,以告诉ZK该节点是Observer:
    peerType=observer
  • 在配置文件中指定哪些节点被指定为Observer:
    server.1:localhost:2181:3181:observer

你可能感兴趣的:(JAVA高级开发工程师面试系列——Zookeeper)