ZooKeeper简介和概念知识
1. 简介
ZooKeeper是一种分布式协调服务,用于管理大型主机。在分布式环境中协调和管理服务是一个复杂的过程。
ZooKeeper通过其简单的架构和API解决了这个问题。ZooKeeper允许开发人员专注于核心应用程序逻辑,而不必担心应用程序的分布式特性。
ZooKeeper框架最初是在“Yahoo!"上构建的,用于以简单而稳健的方式访问他们的应用程序。 后来,Apache ZooKeeper成为Hadoop,HBase和其他分布式框架使用的有组织服务的标准。 例如,Apache HBase使用ZooKeeper跟踪分布式数据的状态。
2. 概念知识
层次命名空间
下图描述了用于内存表示的ZooKeeper文件系统的树结构(ZooKeeper的数据保存形式)。ZooKeeper节点称为 znode 。每个znode由一个名称标识,并用路径(/)序列分隔。
每个znode最多可存储1MB的数据。
Znode的类型
Znode被分为持久(persistent)节点,顺序(sequential)节点和临时(ephemeral)节点。
- 持久节点 - 即使在创建该特定znode的客户端断开连接后,持久节点仍然存在。默认情况下,除非另有说明,否则所有znode都是持久的。
- 临时节点 - 客户端活跃时,临时节点就是有效的。当客户端与ZooKeeper集合断开连接时,临时节点会自动删除。因此,只有临时节点不允许有子节点。如果临时节点被删除,则下一个合适的节点将填充其位置。临时节点在leader选举中起着重要作用。
- 顺序节点 - 顺序节点可以是持久的或临时的。当一个新的znode被创建为一个顺序节点时,ZooKeeper通过将10位的序列号附加到原始名称来设置znode的路径。例如,如果将具有路径 /myapp 的znode创建为顺序节点,则ZooKeeper会将路径更改为 /myapp0000000001 ,并将下一个序列号设置为0000000002。如果两个顺序节点是同时创建的,那么ZooKeeper不会对每个znode使用相同的数字。顺序节点在锁定和同步中起重要作用。
Watches(监视)
监视是一种简单的机制,使客户端收到关于ZooKeeper集合中的更改的通知。客户端可以在读取特定znode时设置Watches。Watches会向注册的客户端发送任何znode(客户端注册表)更改的通知。
Znode更改是与znode相关的数据的修改或znode的子项中的更改。只触发一次watches。如果客户端想要再次通知,则必须通过另一个读取操作来完成。当连接会话过期时,客户端将与服务器断开连接,相关的watches也将被删除。
ZooKeeper简介和概念知识相关推荐
- Zookeeper简介及核心概念
一.Zookeeper简介 Zookeeper 是一个开源的分布式协调服务,目前由 Apache 进行维护.Zookeeper 可以用于实现分布式系统中常见的发布/订阅.负载均衡.命令服务.分布式协调 ...
- DL:深度学习(神经网络)的简介、基础知识(神经元/感知机、训练策略、预测原理)、算法分类、经典案例应用之详细攻略
DL:深度学习(神经网络)的简介.基础知识(神经元/感知机.训练策略.预测原理).算法分类.经典案例应用之详细攻略 目录 深度学习(神经网络)的简介 1.深度学习浪潮兴起的三大因素 深度学习(神经网络 ...
- zookeeper简介以及C客户端用法
zookeeper简介以及C客户端用法 前言 简介 zookeeper保证 理解zookeeper的顺序一致性 zookeeper 接口 安装 zoo.cfg参数详解 常用命令 C API zooke ...
- PyTorch学习笔记(二):PyTorch简介与基础知识
往期学习资料推荐: 1.Pytorch实战笔记_GoAI的博客-CSDN博客 2.Pytorch入门教程_GoAI的博客-CSDN博客 本系列目录: PyTorch学习笔记(一):PyTorch环境安 ...
- 1.PMAC卡-简介和预备知识
PMAC卡是功能非常强大的运动控制卡,但是网上PMAC的教程很少,仅有的几个教程还是官网培训教程,罗列概念和记流水账,最不喜欢这样的教程.自己学习PMAC卡的时候走了许多弯路,刚好找完工作就写一下PM ...
- PMAC简介和预备知识
文章转自:http://blog.csdn.net/wenzhou1219 PMAC卡是功能非常强大的运动控制卡,但是网上PMAC的教程很少,仅有的几个教程还是官网培训教程,罗列概念和记流水账, ...
- BigData:大数据开发的简介、核心知识(linux基础+Java/Python编程语言+Hadoop{HDFS、HBase、Hive}+Docker)、经典场景应用之详细攻略
BigData:大数据开发的简介.核心知识(linux基础+Java/Python编程语言+Hadoop{HDFS.HBase.Hive}+Docker).经典场景应用之详细攻略 BigData:大数 ...
- GIT项目管理工具(part1)--简介及概念
本系列BLOG为鄙人学习GIT时的学习笔记.前一个知识点引出后一个知识点,后一个例子接着前一个例子. 文章目录 GIT简介 基本概念 导航 系列文章目录 GIT简介 什么是GIT(项目管理工具) gi ...
- 设计师:设计师知识储备之硬装部分/软装部分简介、家装材料知识(吊顶材料/门窗材料/五金材料/墙面材料/地面材料/胶粘材料/油漆材料/水电材料/瓦工部分)之详细攻略
设计师:设计师知识储备之硬装部分/软装部分简介.家装材料知识(吊顶材料/门窗材料/五金材料/墙面材料/地面材料/胶粘材料/油漆材料/水电材料/瓦工部分)之详细攻略 目录 硬装部分/软装部分简介 硬装部 ...
最新文章
- maven初学者(一)
- 关于HTML的盒子的一些小问题
- 【高校宿舍管理系统】第十章 缺勤管理、报修管理、来访人员管理以及公告管理
- 多个线程“打架抢夺”同一个资源,该如何让它们安分?
- 手工建立mysql的服务_怎样自已手工打开mysql服务
- OpenGL笔记5 shader 调试信息获取 Debug
- 《Python自动化》学习笔记:百度云智能进行文字识别(代码干货)
- arduino数码管显示0到9_少儿Python程序第十二讲:单片机控制数码管
- CodeForces - 976C(结构体排序思维)
- python包安装-centos7/windows
- pmp 第六版 模拟卷1疑难问题
- 【滤波器】基于matlab高斯滤波器【含Matlab源码 995期】
- 快速幂算法(qwe)
- python: 集合操作符和关系符号
- HDL语言三种描述方式--结构化描述方式、数据流描述方式、行为级描述方式
- 猫眼 — 破解数字反爬获取实时票房
- 解决TortoiseSVN文件夹没有绿色对号
- Android 常用命令行和 源码编译
- 什么是UML、UML类图
- 基于LSTM的股票价格预测