2.1 选举机制(面试重点)

  1. 半数机制:集群中半数以上机器存活,集群可用。所以Zookeeper 适合安装奇数台服务器。
  2. Zookeeper 虽然在配置文件中并没有指定Master 和Slave。但是Zookeeper工作时,是有一个结点为Leader,其他则为Follower,Leader 是通过内部的选举机制临时产生的。

    2.2 结点类型

  3. 持久(Persistent):客户端和服务器断开连接后,创建的结点不删除

  4. 短暂(Ephemeral):客户端和服务器断开连接后,创建的结点删除。

    2.3 监听器原理(面试重点)

    2.3.1监听原理详解:

  5. 首先要有一个mian线程

  6. 在main线程中创建Zookeeper客户端,这时就会创建两个线程,一个负责网络连接通信(connet),一个负责监听(listener)
  7. 通过connect线程将注册的监听事件发送给Zookeeper
  8. 在Zookeeper的注册监听器列表中将注册的监听事件添加到列表中
  9. Zookeeper监听到所有数据或路径的变化,就会将这个消息发送给listener线程。
  10. listener线程内部调用了process()方法

image.png

2.3.2 常见的监听

  1. 监听结点数据的变化 get path [watch]
  2. 监听子结点增减的变化 ls path [watch]

    2.4 写数据流程

    image.png