【Zookeeper】四,Zookeeper节点类型、通知、仲裁、会话

张裕  金牌会员 | 2024-11-28 22:56:44 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 508|帖子 508|积分 1524

Zookeeper的架构

Zookeeper的服务器端运行两种模式:独立模式(standalone)和仲裁模式(quorum)。
独立模式只是一个单独的服务器,Zk的状态无法进行复制。
仲裁模式下,Zk拥有一组服务器,称之为Zk集合,它们之间可以进行状态复制。

znode的版本

每个znode都有一个版本号,随着数据的变革而进行自增。比如实行set和delete两次操纵,这两次调用以版本号作为转入参数,只有当传入的版本号与服务器上的版本号同等时才会调用成功。比如客户端c1对znode/config写入了一些配置信息,如果另外一个c2同时更新了这个znode,此时c1的版本号已颠末期,c1调用set就会失败。
Zookeeper的节点类型

层级树状布局

在Zookeeper中,维护了一个小型的数据节点,这些节点称为znode,接纳类似于文件体系的层级树状布局进行管理。
根节点包含4个子节点,其中三个子节点拥有下一级节点,叶子节点存储了数据信息。


  • /workers下面的每个子节点生存了一个可用的从节点信息。
  • /tasks下面的每个znode子节点表现了已经创建,并等候从节点实行的使命信息。
  • /assign下面的每个znode子节点生存了分配到某个从节点的一个使命信息,当主节点为从节点分配了一个使命信息,就会在/assign下增加一个子节点。
znode的不同类型

持久节点
持久的znode只能通过delete来删除。
持久类型的znode可以为应用生存一些数据,保证数据不丢失。
暂时节点
当创建该节点的客户端与Zookeeper的毗连断开时,这个节点就会被删除。
暂时节点主要通报了应用层面的一些信息。在主从模式中,当主节点创建了一个暂时节点时,这个暂时节点的存在表现主节点状态正常。从节点中使用暂时znode也可以检测从节点是否有效。
暂时节点存在以下两种环境会被删除:


  • 创建该znode的客户端会话超时或主动关闭。
  • 某个客户端主动删除该节点。
有序节点
一个znode可以被设置为有序节点。有序节点会被分配一个唯一的单调递增的整数。
比方创建/tasks/task-的时间,Zookeeper将会分配一个唯一的序列号追加到路径之后,最终名称为/tasks/task-1
总结
znode统共有四种类型


  • 持久的(persistent)
  • 暂时的(ephemeral)
  • 持久有序(persistent sequential)
  • 暂时有序(ephemeral sequential)
Zookeeper监视与通知

如果客户端每次访问znode节点的时间,客户端都要获取节点的所有内容,这会导致很高的耽误,代价很大。所以Zookeeper选择了基于通知的机制。首先,客户端告知Zookeeper自己要通过哪一个znode来吸收通知,也就是在znode上设置一个监视点;当节点发生变革时,客户端会受到这个通知,并从Zookeeper上获取到最新的数据。其次,通知是一种单次触发的操纵,客户端每次吸收到通知后,必须再次设置一个新的监视点。
如果客户端在吸收到通知,并设置下一个新的监视点之前,节点数据发生了变革呢?
客户端在每次设置新的通知的时间,都需要先从节点读取数据,如许就不会错过所有的变更。
通知的类型

通知的类型取决于设置监视点的类型,如监控znode的数据变革、监控znode子节点的变革、监控znode的创建和删除。
Zookeeper的仲裁

当Zk存在多个副本的时间,Zk会复制集群中所有服务器的数据树,如果让客户端等候服务器复制完所有数据后再继续,显然会存在较高的耽误。所以在Zk中可以设定法人数量。比方,我们一共有5个Zk服务器,将法定人数设置为3。如许,只要任何3个服务器生存了数据,客户端就可以继续,而其他两个服务器最终也将会捕捉到数据,并进行生存。
法定人数的设置不能太大或太小,一般设置为服务器数量的多数,并且服务器数量一般为奇数个(不是必须的,但偶数个会使体系更加脆弱)。比方统共5台Zk服务器,则可以将法定人数数量设置为3。
Zk的会话

在进行操纵Zookeeper前,客户端需要与服务端创建会话。当一个会话终止时,这个会话期间创建的所有暂时节点都将会消散。
会话提供了次序保障,同一个会话中的哀求会以FIFO的次序实行。如果客户端拥有多个并发的会话,那么FIFO的次序在多个会话之间未必能够保持。
会话的生命周期

会话的生命周期是指会话从创建到结束的时期。
会话的相关状态主要有:CONNECTING、CONNECTED、CLOSED、NOT_CONNECTED


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张裕

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表