Zookeeper架构

Posted 永旗狍子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Zookeeper架构相关的知识,希望对你有一定的参考价值。

目录

Zookeeper架构

一.Zookeeper树形结构

二.znode类型

三.Zookeeper的监听通知机制

ZK的使用场景

一.配置文件服务

二.集群管理


Zookeeper架构

一.Zookeeper树形结构

每个子目录项如 NameService 都被称作为 znode(目录节点),和文件系统一样,我们能够自由的增加、删除znode,在一个znode下增加、删除子znode,唯一的不同在于znode是可以存储数据的。

zookeeper=文件系统+监听通知机制

二.znode类型

  • PERSISTENT-持久化目录节点

            客户端与zookeeper断开连接后,该节点依旧存在

  • PERSISTENT_SEQUENTIAL-持久化顺序编号目录节点 ​ 客户端与zookeeper断开连接             后,该节点依旧存在,只是Zookeeper给该节点名称进行顺序编号

  • EPHEMERAL-临时目录节点

             客户端与zookeeper断开连接后,该节点被删除

  • EPHEMERAL_SEQUENTIAL-临时顺序编号目录节点

              客户端与zookeeper断开连接后,该节点被删除,只是Zookeeper给该节点名称进行顺序编号

三.Zookeeper的监听通知机制

一个客户端对某个节点进行监听,另一个客户端对该节点进行修改(节点本身或者子节点数量),ZkServer会异步的通知到监听的客户端,被监听的节点数据发送了变化。而且还会传递节点的数据发送了怎么变化。

ZK的使用场景

一.配置文件服务

  将需要统一管理的配置全部放到zookeeper上去,保存在 Zookeeper 的某个目录节点中,然后所有相关应用程序对这个目录节点进行监听,一旦配置信息发生变化,每个应用程序就会收到 Zookeeper 的通知,然后从 Zookeeper 获取新的配置信息应用到系统中。

二.集群管理

所有机器约定在父目录GroupMembers下创建临时目录节点,然后监听父目录节点的子节点变化消息。一旦有机器挂掉,该机器与 zookeeper的连接断开,其所创建的临时目录节点被删除,所有其他机器都收到通知:某个兄弟目录被删除。新机器加入也是类似,

我们稍微改变一下,所有机器创建临时顺序编号目录节点,每次选取编号最小的机器作为master就好。

以上是关于Zookeeper架构的主要内容,如果未能解决你的问题,请参考以下文章

Zookeeper实现分布式选举算法

关于Zookeeper的几个核心知识点

这么流行的ZooKeeper,原来是这样设计的!

16 | ZooKeeper是如何保证数据一致性的?

在阿里,它们不敢用 ZooKeeper 做服务发现?

Zookeeper架构详解