2019年面试官最喜欢问的28道ZooKeeper面试题(29)

zk 的命名服务(文件系统)

命名服务是指通过指定的名字来获取资源或者服务的地址 , 利用 zk 创建一个全局的路径 , 即是唯一的路径 , 这个路径就可以作为一个名字 , 指向集群中的集群 , 提供的服务的地址 , 或者一个远程的对象等等 。

zk 的配置管理(文件系统、通知机制)

程序分布式的部署在不同的机器上 , 将程序的配置信息放在 zk 的 znode 下 , 当有配置发生改变时 , 也就是 znode 发生变化时 , 可以通过改变 zk 中某个目录节点的内容 , 利用 watcher 通知给各个客户端 , 从而更改配置 。

Zookeeper 集群管理(文件系统、通知机制)

所谓集群管理无在乎两点:是否有机器退出和加入、选举 master 。

对于第一点 , 所有机器约定在父目录下创建临时目录节点 , 然后监听父目录节点

的子节点变化消息 。 一旦有机器挂掉 , 该机器与 zookeeper 的连接断开 , 其所创建的临时目录节点被删除 , 所有其他机器都收到通知:某个兄弟目录被删除 , 于是 , 所有人都知道:它上船了 。

推荐阅读