Zookeeper系列 (一)

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: Zookeeper 是 Apache 的一个分布式服务框架,是 Apache Hadoop 的一个子项目。

一、什么是Zookeeper

          Zookeeper官网:Zookeeper官网http://zookeeper.apache.org/

    Zookeeper 是 Apache 的一个分布式服务框架,是 Apache Hadoop 的一个子项目。

官方文档上这么解释 Zookeeper,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。

简单来说 :zookeeper=文件系统+监听通知机制。

二、 Zookeeper 存储结构

2345_image_file_copy_218.jpg

1 Znode

      在 Zookeeper 中,znode 是一个跟 Unix 文件系统路径相似的节点,可以向节点存储

数据或者获取数据。

 Zookeeper 底层是一套数据结构。这个存储结构是一个树形结构,其上的每一个节点,

我们称之为“znode”

      Zookeeper 中的数据是按照“树”结构进行存储的。而且 znode 节点还分为 4 中不同

的类型。

      每一个 znode 默认能够存储 1MB 的数据(对于记录状态性质的数据来说,够了)

可以使用 zkCli 命令,登录到 Zookeeper 上,并通过 ls、create、delete、get、set

等命令操作这些 znode 节点。

2  Znode 节点类型

2.1 PERSISTENT-持久化目录节点

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

2.2 PERSISTENT_SEQUENTIAL-持久化顺序编号目录节点

 客户端与 zookeeper 断开连接后,该节点依旧存在,只是 Zookeeper 给该节点名称进行

顺序编号。

2.3 EPHEMERAL-临时目录节点

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

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

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

序编号。

三、监听通知机制

   Zookeeper 是使用观察者设计模式来设计的。当客户端注册监听它关心的目录节点时,

当目录节点发生变化(数据改变、被删除、子目录节点增加删除)时,Zookeeper 会通知客

户端。

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
目录
相关文章
|
7月前
|
消息中间件 分布式计算 负载均衡
ZooKeeper在哪些场景中被使用?
【6月更文挑战第21天】ZooKeeper在哪些场景中被使用?
154 38
|
8月前
|
存储 消息中间件 负载均衡
Zookeeper 简单介绍
Zookeeper 简单介绍
|
7月前
|
存储 Java 数据库
对于Zookeeper的一些理解
该文档介绍了如何使用ZooKeeper实现统一配置、命名服务和分布式锁以及集群管理。首先,为了解决多个系统重复配置的问题,提出了抽取公共配置到`common.yml`并存储在ZooKeeper中的方法,系统通过监听ZNode变化实时更新配置。接着,详细说明了配置管理的实现步骤,包括在服务器端将配置同步到ZooKeeper,以及客户端监听配置变更。此外,还解释了命名服务如何根据名称获取服务地址,并以域名访问为例进行了说明。最后,讨论了ZooKeeper实现的两种分布式锁策略,并阐述了其在集群管理中的应用,如检测节点状态变化和选举Master节点。
|
8月前
|
存储 分布式计算 资源调度
ZooKeeper详解
ZooKeeper是大数据组件中的协调器,确保高可用性和一致性。它用于监控主备节点切换(如Hadoop YARN的ResourceManager,HBase的RegionServer,Spark的Master)并实现数据同步。设计基于文件系统和通知机制,通过Znodes的状态变化(创建、删除、更新、子节点变化)进行协调。ZooKeeper使用观察者模式,当Znode变化时,通知客户端。其数据结构为树形,提供CLI工具如`zkCli.sh`进行交互。ZooKeeper有三个默认端口:2181(客户端连接),2888(服务器间同步),3888(选举)。选举采用半数机制,确保集群稳定性。
200 1
|
7月前
|
算法 Java Apache
你真的了解Zookeeper吗?
你真的了解Zookeeper吗?
53 0
|
运维 分布式计算 算法
Zookeeper解读
Zookeeper解读
77 0
|
存储 算法 Linux
Zookeeper
 ZooKeeper 是一种分布式协调服务,用于管理大型主机。在分布式环境中协调和管理服务是一个复杂的过程。ZooKeeper 通过其简单的架构和 API 解决了这个问题。ZooKeeper 允许开发人员专注于核心应用程序逻辑,而不必担心应用程序的分布式特性。
159 0
|
JSON Linux Shell
zookeeper
zookeeper
175 0
|
存储 域名解析 负载均衡
Zookeeper—应用
前言 在前面的几篇文章中,我们讲解了ZooKeeper的组成,基本功能,集群选举,ZAB协议和数据一致性。所有的设计都因应用场景而生,不结合场景的方案都是耍流氓。在今天的文章中,我们将要去了解ZK的应用,加深对ZK的认识。
134 0
|
消息中间件 存储 分布式计算
初识ZooKeeper
特点、应用场景
595 0

热门文章

最新文章