zookeeper java 入门,Java面试总结(ZooKeeper基础知识)
发布日期:2021-06-27 04:24:29 浏览次数:9 分类:技术文章

本文共 1731 字,大约阅读时间需要 5 分钟。

ZooKeeper是一个开源的分布式协调服务。分布式应用程序开源基于ZooKeeper实现数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master选举、分布式锁和分布式队列等功能

集群角色:Leader(集群中存在一个)、Follower、Observer

在master机器中解压ZooKeeper到/home/zookeeper并且在/home/zookeeper/conf/zoo.cfg进行配置

server.1=master:2888:3888

server.2=slave01:2888:3888

server.3=slave02:2888:3888

注意:master,slave01,slave02都要有同样的配置。(把master中/home/zookeeper复制到slave即可)server后面的数字X即使机器的ID,在集群机器中需要在datadir(zoo.cfg设置)目录下创建一个名为myid内容为X(机器ID)

只要集群中超过一半的机器能够正常,那么集群就能够正常对外服务。比如集群中有5台机器,只要同时有3台机器挂掉则无法工作,相比6台机器,两者容灾能力一样,机器反而少了一台。所以我们都将集群中的机器数设置为奇数(2n+1)

ZooKeeper节点类型

1.持久节点(PERSISTENT)

所谓持久节点,是指在节点创建后,就一直存在,直到有删除操作来主动清除这个节点——不会因为创建该节点的客户端会话失效而消失。

2.持久顺序节点(PERSISTENT_SEQUENTIAL)

这类节点的基本特性和上面的节点类型是一致的。额外的特性是,在ZK中,每个父节点会为他的第一级子节点维护一份时序,会记录每个子节点创建的先后顺序。基于这个特性,在创建子节点的时候,可以设置这个顺序,那么在创建节点过程中,ZK会自动为给定节点名加上一个数字后缀,作为新的节点名。

3.临时节点(EPHEMERAL)

和持久节点不同,临时节点的生命周期和客户端会话绑定。也就是说,如果客户端会话失效,那么这个节点就会被自动清除掉。注意,临时节点下不能创建子节点。

4.临时顺序节点(EPHEMERAL_SEQUENTIAL)

此节点属于临时节点,不过带有顺序。利用这个特性做分布式锁:

(1)客户端调用create()方法创建名为"locknode/guid-lock-"的节点,需要注意的是,这里节点的创建类型需要设置为EPHEMERAL_SEQUENTIAL。

(2)客户端调用getChildren("locknode")方法来获取所有已经创建的子节点,注意,这里不注册任何Watcher。

(3)客户端获取所有的子节点路径,如果发现自己创建的子节点序号最小,那么就认为该客户端获得了锁

(4)如果客户端自己创建的子节点不是最小的,需要找到序号最小的子节点,调用exists()方法,并注册Watcher

(5)当被watch的节点被移除,客户端会收到相应的通知,此时重复第三部直到自己创建的节点是序号最小的节点

Watch的注意事项:

(1)Watch是一次性触发器,如果得到了一个Watch事件,而希望在以后发生变更时继续得到通知,应该再设置一个Watch

(2)因为Watch是一次性触发器,而获得事件再发送一个新的设置Watch的请求过程中会有延时,所以无法确保看到了所有发生在ZooKeeper上的一个节点上的事件。所以请处理好在这个时间窗口中可能会发生多次znode变更的这种情况。

(3)如果同一个Watch对象在同一个文件上分贝通过exists和getData注册了两次,而这个文件之后被删除了,这个Watch对象只会收到一次该文件的deletion通知。同一个Watch注册同一个节点多次只会生成一个event

Watch的通知事件从server发送到client是异步的,不同的客户端和服务器之间通过socket通信,由于网络延迟或者其他原因导致客户端在不同的时刻监听到事件,由于Zookeeper本身提供了ordering guarantee,即客户端监听事件后才会感知到它所监视的znode发生了变化。

转载地址:https://blog.csdn.net/weixin_42166105/article/details/116216394 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:php7.0发布时间,PHP7.0.6正式发布
下一篇:php动态验证码脚本,javascript自动生成动态HTML验证码

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月12日 04时24分20秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章