ZK(2)——ZooKeeper基本数据类型

本文介绍了ZooKeeper的基本数据模型,它表现为树形结构,类似Linux文件目录。每个节点(ZNode)可分为临时和永久节点,具有版本号,数据变化时版本号递增。ZNode还可以设置权限控制访问。文章详细讲述了ZK数据模型的操作,包括客户端连接、查看ZNode结构及关闭连接等,并探讨了ZooKeeper在分布式系统中的作用,如master选举、配置管理、发布订阅和分布式锁等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、概述

ZK是一个树形结构
ZK的数据模型也可以理解为 linux/unix的文件目录:/usr/local
每一个节点称之为znode,它可以有子节点,也可以有数据

每一个节点分为临时节点和永久节点,临时节点在客户端断开后消失
每个zk节点都有各自的版本号,可以通过命令行来显示节点信息
每当结点数据发生变化,那么该节点的版本号会累加
删除/修改 过时节点,版本号不匹配则会报错
每个zk节点存储的数据不宜过大,几k即可
结点可以设置权限 acl, 可以通过权限来限制用户的访问

二、ZK数据模型基本操作

客户端连接

在zk的bin下面运行./zkServer.sh start 启动服务器,然后运行 ./zkCli.sh

查看znode结构

在这里插入图片描述

关闭客户端连接

按住 ctrl + C,然后回车即可

三、zk的作用体现

  • master结点选举,主节点挂了以后,从节点就会接手工作,并且保证这个节点是唯一的,这也是所谓首脑模式,从而保证我们的集群是高可用的。
  • 统一配置文件管理,即只需要部署一台服务器,就可以把相同的配置文件同步跟新到其他所有服务器,此操作在云计算中用的特别多(假设修改了redis统一配置)。
  • 发布与订阅,类似消息队列MQ(amq,rmq),dubbo发布者把数据存在znode上,订阅者会读取这个数据。
  • 提供分布式锁,分布式环境中不同进程之间竞争资源,类似于多线程中的锁

在这里插入图片描述

  • 集群管理,集群中保证数据的强一致性。主节点中的数据发生修改了,那么附属节点需要同步更新。即当客户端不管在连接哪个节点的时候,读取到的数据都应该是一致的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值