2.1 选举机制(面试重点)
- 半数机制:集群中半数以上机器存活,集群可用。所以Zookeeper 适合安装奇数台服务器。
Zookeeper 虽然在配置文件中并没有指定Master 和Slave。但是Zookeeper工作时,是有一个结点为Leader,其他则为Follower,Leader 是通过内部的选举机制临时产生的。
2.2 结点类型
持久(Persistent):客户端和服务器断开连接后,创建的结点不删除
短暂(Ephemeral):客户端和服务器断开连接后,创建的结点删除。
2.3 监听器原理(面试重点)
2.3.1监听原理详解:
首先要有一个mian线程
- 在main线程中创建Zookeeper客户端,这时就会创建两个线程,一个负责网络连接通信(connet),一个负责监听(listener)
- 通过connect线程将注册的监听事件发送给Zookeeper
- 在Zookeeper的注册监听器列表中将注册的监听事件添加到列表中
- Zookeeper监听到所有数据或路径的变化,就会将这个消息发送给listener线程。
- listener线程内部调用了process()方法