Zookeeper 的功能以与工作原理 1.ZooKeeper 是什么?ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户2.ZooKeeper 提供了什么?1)文件系统2)通知机制3.Zookeeper 文件系统每个子目录项如 NameService 都被称作为 znode,和文件系统一样,我们能够自由的增加、删除 znode,在一个 znode 下增加、删除子 znode,唯一的不同在于 znode 是可以存储数据的。 有四种类型的 znode: 1、PERSISTENT-持久化目录节点 客户端与 zookeeper 断开连接后,该节点依旧存在 2、PERSISTENT_SEQUENTIAL-持久化顺序编号目录节点 客户端与 zookeeper 断开连接后,该节点依旧存在,只是 Zookeeper 给该节点名称进行顺序编号 3、EPHEMERAL-临时目录节点 客户端与 zookeeper 断开连接后,该节点被删除 4、EPHEMERAL_SEQUENTIAL-临时顺序编号目录节点 客户端与 zookeeper 断开连接后,该节点被删除,只是 Zookeeper 给该节点名称进行顺序编号 4.Zookeeper 通知机制客户端注册监听它关怀的目录节点,当目录节点发生变化(数据改变、被删除、子目录节点增加删除)时,zookeeper 会通知客户端。5.Zookeeper 做了什么?1.命名服务 2.配置管理 3.集群管理 4.分布式锁 5.队列管理6.Zookeeper 命名服务在 zookeeper 的文件系统里创建一个目录,即有唯一的 path。在我们使用 tborg 无法确定上游程序的部署机器时即可与下游程序约定好 path,通过 path 即能互相探究发现。7.Zookeeper 的配置管理程序总是需要配置的,假如程序分散部署在多台机器上,要逐个改变配置就变得困难。现在把这些配置全部放到 zookeeper 上去,保存在 Zookeeper 的某个目录节点中,然后所有相关应用程序对这个目录节点进行监听,一旦配置信息发生变化,每个应用程序就会收到 Zookeeper 的通知,然后从 Zookeeper 猎取新的配置信息应用到系统中就好 8.Zookeeper 集群管理所谓集群管理无在乎两点:是否有机器退出和加入、选举 master。 对于第一点,所有机器约定在父目录 GroupMembers 下创建临时目录节点,然后监听父目录节点的子节点变化消息。一旦有机器挂掉,该机器与 zookeeper 的连接断开...