首页 > 其他分享 >zookeeper的入门

zookeeper的入门

时间:2023-02-20 19:02:08浏览次数:30  
标签:入门 zookeeper 分布式应用 节点 znode 目录 客户端

zookeeper是一个分布式服务框架,是Apache Hadoop的一个子项目,它主要是来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务,状态同步服务,集群管理,分布式应用配置项的管理等。

上面的解释有点抽象,简单来说,zookeeper=文件系统+监听通知机制

1.文件系统

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

有四种类型的znode:

PERSISTENT-持久化目录节点
客户端与zookeeper断开连接后,该节点依旧存在

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

EPHEMERAL-临时目录节点
客户端与zookeeper断开连接后,该节点被删除

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

2.监听通知机制

客户端注册监听它关心的目录节点,当目录节点发生变化(数据改变,被删除,子目录节点增加删除)时,zookeeper会通知客户端。

就这么简单,下面我们看看zookeeper能做点什么呢?

zookeeper能做什么

zookeeper的功能非常强大,可以实现诸如分布式应用配置管理、统一命名服务、状态同步服务、集群管理等功能,我们这里拿比较简单的分布式应用配置管理为例来说明。

假设我们的程序是分布式部署在多台机器上,如果我们要改变程序的配置文件,需要逐台机器去修改,非常麻烦,现在把这些配置全部放到zookeeper上去,保存在zookeeper的某个目录节点中,然后所有相关应用程序对这个目录节点进行监听,一旦配置信息发生变化,每个应用程序就会收到zookeeper的通知,然后从zookeeper获取新的配置信息应用到系统中。
zookeeper的入门_其他_02
如上,你大致应该了解zookeeper是个什么东西,大致能做什么了。

标签:入门,zookeeper,分布式应用,节点,znode,目录,客户端
From: https://blog.51cto.com/u_15973676/6069330

相关文章

  • Zookeeper-ZKFC的原理和功能
    一、前言HADOOP2HA架构引入了ZKFC、Journalnode组件,本篇文章主要介绍ZKFC的功能和原理。HA架构支持两种切换方式:手动切换: 通过命令实现主备之间的切换,可以用HDFS升......
  • Elasticsearch入门学习
    倒排索引所谓的倒排索引,就是把你的数据内容先分词,每句话分成一个一个的关键词,然后记录好每个关键词对应出现在了那些id标识的数据里.那么你要搜索包含关键词的帖子,......
  • Neo4j入门
    1、图数据库Neo4j简介1.1什么是图数据库图数据库:是基于图论实现的一种NoSQL数据库,其数据结构是和查询方式是以图论为基础的,图数据库主要用于存储更多的连接数据。图论......
  • Power Automate入门1 - 云端流
     一、不同类型流的概述PowerAutomate是一项服务,可用于自动执行重复性任务以提高所有组织的效率。您可以创建云端流、桌面流或业务流程流。云端流当您希望自动、即......
  • 还是Java入门
    起名方案所有变量、方法、类名:见名知意类成员变量:首字母小写和驼峰原则:monthSalary除了第一个单词以外,后面的单词首字母大写lastnamelastName局部变量:首字母小写和驼......
  • Docker-全面详解(学习总结---从入门到深化)
    一、什么是Docker Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。 什么是"集装箱技术"我们都知道码头里的集装箱是运载货物用的,它是一种按规......
  • HTML5+CSS3(十)-全面详解(学习总结---从入门到深化)
    ​​Display​​​​编辑 元素隐藏属性对比​​​​学习效果反馈 ​​​​文档流 ​​​​文档流产生的问题 ​​​​空格折叠​​​​元素无空隙​​​​脱离文档流​......
  • Rpc-实现Client对ZooKeeper的服务监听
    1、前言在上一篇文章中,完成了ZooKeeper注册中心,添加了一个简单的本地缓存但是,存在一些问题:当本地缓存OK,ZooKeeper对应服务有新的实例时,本地缓存不会自动更新当ZooKeep......
  • golang 入门(十) 异常处理
    1、recovery捕获异常代码在运行的时候,总会遇到错误。有的时候我们会希望程序遇到错误以后继续运行后面的流程,而不是直接异常退出。在Python中,使用tryexcept组合实现这种需......
  • 通信小白基础学习---MIMO技术入门,含码字,层映射,天线端口,预编码,PMI,rank,TM模式,波束赋形,空
    以下内容来源于B站up主“捻叶成剑”,如有侵权,请联系本人删除!载波聚合技术是增加带宽(拓宽车道),2*2MIMO是增加天线(增加车道为双车道)还有空分多址(实际应用不多)接收两......