1、单节点的leader机制,用来保证消息处理的顺序性(在leader里通过一个队列来实现)
2、有时候,直接关机,没有停掉zookeeper,下次通过zkServer.sh 开启时,会显示开启成功,但是查看状态时却发现没有运行,这时候,可以直接删除掉我们安装Zookeeper时配置的data dir那个目录,再重启Zookeeper就会好了。
但是有一个问题,删掉data dir 的那台机器,启动后只能做follwer,不能去竞选leader,因为它的数据不完整,需要从其他机器上同步。
3、搭建Zookeeper时,为什么要求奇数台机器?
因为,Zookeeper的一个原则:“半数通过”,那么,对于三台机器的集群来说,至少需要两台机器正常(允许一台机器挂掉),对于四台机器的集群来说,至少需要三台机器正常(允许一台机器挂掉),所以两者的容灾能力是一样的。既然这样,那四台就没有必要了,所以,“奇数”不是硬要求,只是建议奇数台,因为偶数台没必要
4、为什么需要集群的另一个角色observer?
为了响应更多的客户端的请求,增大集群的吞吐率,我们需要增加server的数量,但是server增加,投票阶段的延迟增大,影响性能,所以,权衡集群的伸缩性和吞吐率,我们需要增加observer这样一个不参与投票的角色。
关于Zookeeper的几个小Tips
最新推荐文章于 2022-06-21 19:24:50 发布