ToB企服应用市场:ToB评测及商务社交产业平台

标题: [1] zookeeper基础知识 [打印本页]

作者: 慢吞云雾缓吐愁    时间: 2024-12-11 09:29
标题: [1] zookeeper基础知识
Zookeeper

Zookeeper是一个分布式协调服务,实现同步服务,配置维护和定名服务等分布式应用。它公开了一组简朴的原语,分布式应用步伐可以基于这些原语实现更高级别同步、配置维护、组和定名服务。利用类似于目录树状结构的数据模子。
zookeeper = 文件体系+监听通知机制。
1. 设计目标


2. CAP理论

分布式体系,分区容错性是一个必须考虑的关键点。一旦分布式体系丧失分区容错性,也就代表放弃了拓展性。大部门分布式体系都会包管在分区容错性的前提下在一致性和可用性做权衡。
   Zookeeper是一个CP(一致性+分区容错性)的,它的职责是包管数据在其管辖下的全部服务之间保持同步、一致。
ZooKeeper的焦点实现算法Zab,就是办理了分布式体系下数据怎样在多个服务之间保持同步问题的。
  重要特点:

3. Zookeeper节点特性及节点属性分析

Zookeeper提供类似于文件体系的目录节点树方式的数据存储。它的作用重要是用来维护和监控存储数据的状态变化。通过监听这些数据状态的变化,从而可以达到基于数据的集群管理。
Zookeeper的数据节点称为ZNode,ZNode是Zookeeper中数据的最小单元。每个节点可以存储数据,同时可以挂载子节点。
Zookeeper创建节点时可以指定范例。
ZNode节点范例:

   Zookeeper的每个节点存储的数据必要原子性的操作,也就是读操作将获取与节点相关的全部数据,写操作也将替换掉节点的全部数据。
znode维护一个统计结构,其中包罗数据变更的版本号、acl变更和时间戳,以允许缓存验证和协调更新。每次znode的数据更改,版本号都会增长。当客户端检索数据时也会收到数据的版本号。
  4. Watcher数据变更通知

客户端可以在znode上设置监视,当znode发生变化时,watch将被触发并移除。当watch被触发时,客户端会收到一个数据包,阐明znode已更改。
3.6.0中:客户端可以在znode上设置永世的递归监视,这些监视在触发时不会被删除,而且以递归方式触发已注册znode以及任何子znode上的更改。
Zookeeper利用Watcher机制实现分布式数据的发布/订阅功能。

Watcher机制:
Watcher机制重要包罗客户端线程,客户端WatcherManager、Zookeeper服务器。客户端在向Zookeeper服务器注册的同时,会将Watcher对象存储在客户端的WatcherManager中。当Zookeeper服务器出发Watcher事件后,会向客户端发送一个通知(有且仅有一个),客户端线程从WatcherManager中取出对应的Watcher对象执行回调逻辑。
详细交互过程:

监听事件:

zookeeper副本实现:

   假如想要确保读取的数据是最新的(强一致性),每次读取之前可以执行一次"空写操作"。或者显式调用sync.

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




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4