Zookeeper需保证高可用和强一致性;
为了支持更多的客户端,需要增加更多Server;
Server增多,投票阶段延迟增大,影响性能;
权衡伸缩性和高吞吐率,引入Observer
Observer不参与投票;
Observers接受客户端的连接,并将写请求转发给
leader节点;
加入更多Observer节点,提高伸缩性,同时不影响
吞吐率。
Zookeeper Server数目一般为奇数
Leader选举算法采用了Paxos协议;
Paxos核心思想:当多数Server写成功,则任务数据写成功
如果有3个Server,则两个写成功即可;
如果有4或5个Server,则三个写成功即可。
Server数目一般为奇数(3、5、7)
如果有3个Server,则最多允许1个Server挂掉;
如果有4个Server,则同样最多允许1个Server挂掉
既然如此,为啥要用4个Server?
声明: 本文由( 恒镭, 张 )原创编译,转载请保留链接: 3.3.0版本新增角色Observer