zookeeper选举机制
zookeeper集群
zookeeper如何进行数据同步
zookeeper分布式锁
zookeeper角色
为什么需要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