1、Zookeeper是什么
zookeeper是源代码开放的分布式协调服务,是一个高性能的分布式数据一致性解决方案。
* 源代码开放
* 是分布式协调服务,解决分布式数据一致性文件
顺序一致性、原子性、可靠性、实时性
* 高性能
* 我们可用zookeeper提供的接口来解决分布式问题
![](https://box.kancloud.cn/27e397f0a72bcc7667ff91e5e63f2161_553x322.png)
集群角色:
leader: 整个zookeeper集群工作机制中的核心,一个集群中只有一个leader,当leader故障,就会在其他多个follower中选择一个当leader
follower: 整个zookeeper集群中的跟追者
zkclient: 需要安装zookeeper client lib类库,该客户端可以位于集群中的任意节点,也可以不是。用来来连接集群中的任意zkserver
注意:所有zkserver服务器在内存中的数据结构是一样的,支持c和java语言
Zookeeper为分布式应用提供服务,主要提供如下:
配置维护
名字服务
分布式同步
组服务等
目标: 将封装复杂易错的关键服务,将简单易用的接口、功能稳定的系统提供给用户
2、ZooKeeper数据模块与层次命名空间
树状结构,通过/分隔路径名,每个路径代表一个节点Znode
如图:
![](https://box.kancloud.cn/cfe2e3335c84605b7cbfb17574f48c9a_397x221.png)
每个节点Znode都有自身信息,数据,长度,创建时间,修改时间等,znode维护数据,acl,时间戳等
https://www.cnblogs.com/felixzh/p/5869212.html