视频分享地址: https://|

明月照江江

园龄:7年4个月粉丝:34关注:0

2022-04-16 14:04阅读: 36评论: 0推荐: 0

Zookeeper及基于Zookeeper的分布式锁总结

1. Zookeeper

ZooKeeper 内部存储的数据结构

/
+-- node1
+-- node2
|   +-- sub_node21 -> "I am sub_node21"
|   +-- sub_node22 -> "I am sub_node22"
+-- node3

数据模型图

/

node1

node2

sub_node11

sub_node12

Znode 四种类型

持久 <----> 临时

无序<-----> 顺序

持久无序型

持久有序型

临时无序型

临时有序型

临时节点

临时

临时有序

临时无序

客户端退出, 临时节点将会被删除

持久节点

持久

持久有序

持久无序

持久型会一直在Zookeeper中保存,即使客户端退出

有序

即Zookeeper会在znode名称后增加原子有序的序列号

无序

默认,即不添加序列号

Sessions(会话)

会话对于ZooKeeper的操作非常重要。会话中的请求按FIFO顺序执行。一旦客户端连接到服务器,将建立会话并向客户端分配会话ID

客户端以特定的时间间隔发送心跳以保持会话有效。如果ZooKeeper集合在超过服务器开启时指定的期间(会话超时)都没有从客户端接收到心跳,则它会判定客户端死机。

会话超时通常以毫秒为单位。当会话由于任何原因结束时,在该会话期间创建的临时节点也会被删除。

Watches(监视)

监视是一种简单的机制,使客户端收到关于ZooKeeper集合中的更改的通知。客户端可以在读取特定znode时设置Watches。Watches会向注册的客户端发送任何znode(客户端注册表)更改的通知。

Znode更改是与znode相关的数据的修改或znode的子项中的更改。只触发一次watches。如果客户端想要再次通知,则必须通过另一个读取操作来完成。当连接会话过期时,客户端将与服务器断开连接,相关的watches也将被删除。

本文作者:明月照江江

本文链接:https://www.cnblogs.com/gradyblog/p/16152653.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   明月照江江  阅读(36)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起