
zookeeper
guaoran
java 软件开发
展开
-
zookeeper 的 watch 机制源码分析学习
watcher监听机制是Zookeeper中非常重要的特性,我们基于zookeeper 上创建的节点,可以对这些节点绑定监听事件。比如可以监听节点数据的变更、节点删除、子节点状态变更等事件。通过这个事件机制,可以基于zookeeper实现分布式锁,集群管理等功能。事件特性当数据发生变化时,zookeeper 会产生一个watcher 事件,并且会发送到客户端,但是客户的只会收到一次通知。如果后续这个节点再次发生变化,那么之前设置 watcher 的客户端不会再次收到消息。即watcher是一次性的操作。原创 2020-08-31 09:00:10 · 736 阅读 · 0 评论 -
zookeeper 数据同步和事务请求处理流程
以前文章zookeeper 的 leader选举过程我们知道当我们选择出leader之后 ,leader 会同步数据给 follower 和 observer。在同步数据时采用两种方式,一种是采用增量,一种是采用全部同步如果 follower 滞后 leader 不多, leader 只需发送缺失的事务点即可。如果 follower 滞后 leader 很久, leader 需要发送完整的快照。数据同步是怎么完成的?standalone 处理过程PrepRequestProcesso原创 2020-08-31 09:00:16 · 1277 阅读 · 0 评论 -
zookeeper 的 leader选举过程
为了方式单点故障,zookeeper 提供了集群模式 ,集群模式下具有三个角色leader:设置leader 的目的是为了将事务请求进行排序,所有事务请求必须由一个全局唯一的服务器来协调处理follower:参与leader的选举投票 及 事务请求的投票 以及 将事务请求转发给 leaderobserver:只提供非事务请求,在不影响集群事务处理能力的前提下提升非事务处理的能力,observer不需要参与投票的过程,但是必须要同步leader的数据,从而在处理请求的时候保证数据的一致性leader原创 2020-08-30 14:35:28 · 401 阅读 · 0 评论 -
Zookeeper 集群搭建
在分布式系统中,我们会存在很多的服务,通过将服务注册到zk上,使用zookeeper 进行服务协调, 由于需要保证服务的可靠性,我们需要对每个功能进行注册多个服务,如果某个服务不可用时,我们需要能够动态的感知该服务不可用,此时我们通过zk的节点特性(临时节点)进行保存服务,当某个节点下服务不可用时,zk会动态的删除不可用的临时节点。zk的是一个类似文件目录的存储结构,存储的是node节点,节点特性主要包含持久化节点、临时节点、有序节点以及同级节点的唯一性。在实际开发中,我们可以通过临时节点保存服原创 2019-01-10 20:31:40 · 514 阅读 · 0 评论