1 Star 0 Fork 54

chenzhenguo / Java-Interview-Advanced

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
133.md 844 Bytes
一键复制 编辑 原始数据 按行查看 历史
leelovejava 提交于 2020-06-04 02:11 . update 中间件之Zookeeper

133、现在再来看看ZooKeeper的Observer节点是用来干什么的?

Observer节点是不参与leader选举的,他也不参与ZAB协议同步时候的过半follower ack的那个环节,他只是单纯的接收数据,同步数据,可能数据存在一定的不一致的问题,但是是只读的

leader在进行数据同步的时候,observer是不参与到过半写机制里去

所以大家思考一个问题了

zk集群无论多少台机器,只能是一个leader进行写,单机写入最多每秒上万QPS,这是没法扩展的,所以zk是适合写少的场景

但是读呢?follower起码有2个或者4个,读你起码可以有每秒几万QPS,没问题,那如果读请求更多呢?此时你可以引入Observer节点,他就只是同步数据,提供读服务,可以无限的扩展机器

Java
1
https://gitee.com/chenzhenguo/Java-Interview-Advanced.git
git@gitee.com:chenzhenguo/Java-Interview-Advanced.git
chenzhenguo
Java-Interview-Advanced
Java-Interview-Advanced
master

搜索帮助