Zookeeper 的简单介绍

关于Zookeeper 的简单入门说明

Zookeeper版本3.5.6
前言:这篇博客讲的是纯理论和一些简单入门的概念和说明。如果对Zookeeper已经有过了解的可以不用看这篇废话的的博文了

用最简单的说法来描述Zookeeper的话:文件系统(类似)+监控(对于文件系统的增删改查的监控通知)

Zookeeper 概念

Java 编写的高性能分布式协调中间件(主要的功能,开发出来就是为了这么用的,当然也没说不能用于其他的方式,看具体的需求),协调各个服务进程的访问控制问题(类似多线程的同步之类的)。注意注册中心只是Zookeeper本身的特性可以实现的场景需求(注册中心:保留服务和相关访问地址列表)

安装

docker安装Zookeeper
1. 官网下载Zookeeper 解压至特定目录
2. 配置:${zookeeper_home}/conf 下有个配置样例zoo_sample.cfg 改成zoo.cfg(配置里面都有说明)
3. 启动 ${zookeeper_home}/bin/zkServer.sh start (提供服务端口默认2181)
4. 客户端连接 zkCli.sh -server ip:port (-server 如果本地可以不要)

数据结构

基本的数据模型

	/
	|------/key1
	|		 	|------/key1_1
	|		 	|------/key1_2
	|------/key2
				|------/key2_1
				|------/key2_2
  1. 树种每个节点叫Znode(支持读写),维护了一个stat 状态信息(数据变化和版本等信息),每个Znode 可以设置一个value值。value 值不应该太大(会带来较大的网络开销),不用将其当成数据库使用
  2. 节点的创建必须按层级创建 比如创建/key1/key1_1 那么/key1 必须存在
节点的类型
  1. 持久化节点:节点数据永久保存到磁盘
  2. 临时节点:生命周期和创建该节点的客户端生命周期一致,客户端会话结束,其创建的节点自动删除
  3. 有序节点:创建的节点后面添加一个递增的序列,该序列在同一父节点下是惟一的,另外持久化节点
    和临时节点是可以有序的
  4. 版本3.5.3之后添加了容器节点:容器节点下的最后一个子节点被删除,该容器节点就会自动删除
  5. 版本3.5.3之后添加了TTL 节点:可以设置节点的存活时间,存活时间内没有修改并且没有任何子节
    点,则自动删除
Watcher机制

提供针对Znode的订阅/通知机制,Znode节点状态发生变化或者Zookeeper客户端连接状态发生变化,触发事件通知(服务发现 /注册依赖此实现),注意Watcher的事件都是一次性的,触发之后还需监听需要重新注册监听

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值