当前位置: 首页 > article >正文

Zookeeper详解(最详细的zookeeper解析+项目实例)

Zookeeper

在学习Zookeeper之前,我们还是先了解它的概念:

一、什么是zookeeper?

1、简介

zooKeeper 是一个开放源码的分布式协调服务,主要为了解决分布式架构下数据一致性问题, 它是集群的管理者, 监视着集群中各个节点的状态,根据节点提交的反馈进行下一步合理操作。 最终, 将简单易用的接口和性能高效、 功能稳定的系统提供给用户

2、应用场景

分布式配置中心、分布式注册中心、分布式锁、分布式队列、集群选举、分布式屏障、发布/订阅等场景。

二、Zookeeper数据结构

1、简介

Zookeeper的数据模型类似于文件系统,是树状结构,每个树节点(目录)对应一个Znode节点。这些目录节点和我们普通的目录一样可以新建、删除、修改。

2、常用的数据格式有:

我们常用的主要有四种类型的znode。

1、持久化目录节点:PERSISTENT 客户端与zookeeper断开连接后,该节点依旧存在,只要不手动删除该节点,他将永远存在。

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

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

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

3、zookeeper客户端常用命令:

1)、连接zookeeper服务端(Linux): ./zkCli.sh -server ip:port

2)、断开zookeeper服务端的连接: quit

3)、查看帮助: help

4)、查询所有的目录节点: ls /

5)、创建目录节点: create /节点名 值(可写可不写)

6)、设置目录节点的值(修改时也可以): set /节点名 值

7)、删除单个目录节点: delete /节点名

8)、删除带有子节点的目录: deleteall /节点名

9)、创建临时目录节点: create -e /节点名 值(可写可不写)

10)、创建持久化目录节点: create -s /节点名 值(可写可不写)

11)、查询目录节点的详情信息: ls -s /节点名

三、Zookeeper JavaAPI(Curator)

1、简介:

Apache Curator 是一个用于Apache ZooKeeper 的Java 客户端框架。 Curator 提供了一组易于使用的API和工具,简化了与ZooKeeper 的交互,同时提供了更高级别的抽象和功能。

2、搭建和使用Curator(以下环境使用的是spring boot)
1)、引入Curator支持
<!-- zookeeper支持 -->
<dependency>   <groupId>org.apache.zookeeper</groupId>   <artifactId>zookeeper</artifactId>   <version>3.6.4</version>
</dependency>
<!-- curator-recipes -->
<dependency>   <groupId>org.apache.curator</groupId>   <artifactId>curator-recipes</artifactId>   <version>5.5.0</version>
</dependency>
<!-- curator-framework -->
<dependency>   <groupId>org.
http://www.lryc.cn/news/2412638.html

相关文章:

  • lodash的用法详解
  • Base64解码
  • 推荐一款效率类小工具--utools
  • RocketMQ高级原理
  • C语言Switch语句的case用法详解
  • Zabbix最详细教程Ubuntu部署Zabbix6.0[图文]
  • “多重人格”的操作系统——openEuler
  • RabbitMQ详解:消息队列的原理、应用与最佳实践
  • 了解伽马(GAMMA、伽马值、光度、灰度系数)
  • 【计算机视觉 | 图像分割】arxiv 计算机视觉关于图像分割的学术速递(12 月 1 日论文合集)(上)
  • UniApp入门指南以及组件的使用
  • 从零基础学Go(六)——Go的复杂数据结构(下)
  • python编程:从入门到精通,python编程教学入门教程
  • OpenWrt网络配置详解
  • 【OpenCV】简介
  • 医学图像中的窗宽(Window Width,WW)和窗位(Window Level,WL)
  • Stream 流常见基本操作
  • ApiPost简介
  • Canvas详解
  • eclipse下载|安装|项目创建|常规设置|详细图文教程【windows10】
  • spring太强了!两万多字干货 超详细讲解
  • Kafka最全讲解,通俗易懂
  • PostgreSQL教程(三):SQL语言
  • Fiddler工具介绍及基本使用
  • axios 开源项目教程
  • Vue 3 中实现 Element Plus 表格的多选功能与条件操作(附Demo)
  • 微信开发者工具
  • 创建虚拟机步骤以及开启电脑虚拟设置方法
  • 大数据入门系列 1:全网最全,Windows 安装 VMware Workstation 虚拟机完整步骤及需要注意的问题
  • SpringBoot--入门使用