zookeeper介绍
官网:https://zookeeper.apache.org/
Zookeeper从设计者角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应。
1.zookeeper特点
- zookeeper:一个领导者(Leader),多个跟随着(Follower)组成的集群
- 集群中只要有半数以上节点存活,zookeeper集群就能正常服务。所以Zookeeper适合安装奇数台服务器。
- 全局数据一致:每个Server保存一份相同的数据副本,Client无论连接到哪个Server,数据都是一致的。
- 更新请求顺序执行,来自同一个Client的更新请求按其发送顺序依次执行。
- 数据更新原子性,一次数据更新要么成功,要么失败。
- 实时性,在一定时间范围内,Client能读到最新数据。
2.数据结构
Zookeeper数据模型的结构与Unix文件系统很相似,整体上可以看作是一棵树,每个节点称做一个ZNode。每一个ZNode默认能够存储1MB的数据,每个ZNode都可以通过其路径唯一标识。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s0r0VVs9-1651456298200)(D:\CHEN\Typora\image\zookeeper结构.png)]
3.应用场景
统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等。
zookeeper安装和配置
配置zookeeper集群:
// 进入相应的安装目录
zookeeper的安装路径:/opt/zookeeper/apache-zookeeper