Zookeeper需要知道的一些基础知识点

本文介绍了Zookeeper的基础概念,包括服务器状态、znode、stat、节点类型等。详细讲解了临时节点的特点,事件监听机制,以及Zookeeper集群的工作原理,如选举机制、处理读写请求的方式。还探讨了Zookeeper集群的持久化、一致性问题和部署建议。
摘要由CSDN通过智能技术生成

什么是zk?

zookeeper是一个分布式协调工具,这就是笔者回答“zookeeper是什么?”这个问题的答案。

分布式锁、分布式ID、分布式配置中心、分布式服务注册与发现、分布式高可用(HA)

这些问题都可以借助zk来解决

注意:不是zk有这样那样的功能,而且基于zk的机制,上述这些问题都可以借助zk来进一步扩展来实现。

所以zk是一个工具。是一个什么工具?是一个协调处理各种分布式问题的工具。

zk服务器的4种状态

  • LOOKING:寻找Leader 状态。当服务器处于该状态时,它会认为当前集群中没有Leader, 因此需要进入Leader 选举状态。
  • FOLLOWING:跟随者状态。表明当前服务器角色是Follower.
  • EADING:领导者状态。表明当前服务器角色是Leader.
  • OBSERVING:观察者状态。表明当前服务器角色是Observer

什么是znode?

公式:znode = path + nodeValue + Stat  

什么是stat?

zk的节点类型(6种)

3.5新增了2种节点,各种视频或博客如果还说4种的,要注意,说的是老版本的zk了。

持久化节点:不delete就一直存在

临时节点:session超时,被服务器删除(命令加 -e)

持久化顺序节点:持久化节点基础上,自带顺序(命令加 -s)

临时顺序节点:临时节点基础上,自带顺序(命令加 -s -e)

容器节点:当没有子节点时,未来会被服务器删除(命令加 -c)

TTL节点:超过TTL指定时间,被服务器删除

临时节点说明

server接收client的命令就会更新timeout。

但是如果client真就没命令执行了怎么办?

如图,client会发送ping为了保活,timeout也会更新。

问题1:client创建一个临时节点a,马上断开,再连上,这个节点a还存在么?

还能存在一小小会儿,然后节点a就没了。

看图,临时节点的删除不是说client断开马上就删除,而是要等timeout。

你虽然断开马上再连接,但是sessionID不一样了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值