什么是zookeeper?
zookeeper是一个针对大型分布式系统的可靠协调系统;
提供的功能包括:配置维护、名字服务、分布式同步、组服务等;
目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
Zookeeper 架构
每个Server在内存中存储了一份数据;
Zookeeper启动时,将从实例中选举一个leader(Paxos协议);
Leader负责处理数据更新等操作(Zab协议);
一个更新操作成功,当且仅当大多数Server在内存中成功修改数据。
注:观察者是3.3版本后新加的。为保证系统的可靠性,一般考虑增加server,但如果所有的server都参与投票(超过半数通过认定通过),投票延时太大,影响系统性能,因此将一部分server设置成观察者(不参与投票),这样就可以在保证可靠的同时避免这样的投票延时。