1、Zookeeper是什么
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,监控集群中的各个节点的状态,根据节点提交的反馈进行下一步合理操作。
2、Zookeeper特性优点
2.1、顺序一致性
2.2、原子性
2.3、单一视图
2.4、可靠性
2.5、最终一致性
3、Zookeeper提供了什么
3.1、文件系统:
Zookeeper提供一个多层级的节点命名空间,与文件系统不同的是,这些节点都可以设置关联的数据,而文件系统数据只能存储在文件节点,而目录节点则不行
为了保证高吞吐和低延迟,在内存中维护了树状目录结构,这种特性使得Zookeeper不能用于存放大量数据,每个节点的存放的数据上限是1M
3.2、通知机制
4、Zookeeper节点类型
4.1、持久节点:创建命令 create /node data
4.2、临时节点:创建命令 create -e /node data
4.3、有序持久节点:创建命令 create -s /node data
4.4、有序临时节点:创建命令 create -s -e /node data
5、Zookeeper角色类型
5.1、Leader:
事务请求的唯一调度和处理者,保证集群事务处理的顺序性
集群内部各服务的调度者
5.2、Follower:
处理客户端的非事务请求,转发事务请求给Leader服务器
参与事务请求Proposal的投票
5.3.、Observer:
处理客户端的非事务请求,转发事务请求给leader服务器
不参与任何形式的投票
6、Zookeeper工作状态
6.1、Looking:
寻找leader状态,当服务器处于该状态时,集群中没有leader,需要进入leader选举状态
6.2、Leading:
领导状态,表明该服务器角色是Leader
.6.3、FOllowing:
跟随者状态,表明该服务器角色是Follower
6.4、Observing:
观察者状态,表明该服务器角色是Observer
7、Zookeeper集群模式:
7.1、单机模式
7.2、伪集群模式
7.3、集群模式