Watcher部分
- 这种方式只能监听一次,监听完了需要重新注册watcher
client.getChildren().usingWatcher(new AA2.Watcher()).forPath("/b");
- PathChildrenCache 只能监听本层以及第一层子层(监听/b 只能监听到/b/c,不能监听到/b/c/d),且每次生成时,假如节点存在,会被重复通知一次节点created事件
PathChildrenCache childrenCache2 = new PathChildrenCache(client, "/b", true); childrenCache2.start(); childrenCache2.getListenable().addListener(new PathChildrenCacheListener() { @Override public void childEvent(CuratorFramework client, PathChildrenCacheEvent event) throws Exception { System.out.println("cache事件:" + event.getType()+" "+event.getData().getPath()); } });
其中event.getData() 有可能为null
- TreeCache可以监听节点下所有子节点的变更
ACL部分
- ACL并无递归机制,任何一个znode创建后,都需要单独设置ACL,无法继承父节点的ACL设置
- 程序对节点设置ACL时必须先
DigestAuthenticationProvider.generateDigest("spjich:spjich")
获取加密后的秘钥
spjich:TyD9qsQm0ojLLJ8B14A3R2wYuKU=
然后再
ACL aclRoot = new ACL(ZooDefs.Perms.ALL, new Id("digest", "spjich:TyD9qsQm0ojLLJ8B14A3R2wYuKU=")); List<ACL> aclList = new ArrayList<ACL>(); aclList.add(aclRoot); client.create().creatingParentsIfNeeded().withMode(CreateMode.PERSISTENT) .withACL(aclList) .forPath("/b/c/d");
而客户端想访问被ACL控制的节点时必须先进行“身份验证”,可以通过如下设置进行(注意:加密时用的是生成的秘钥,登录时用的是原始密码)
CuratorFramework client = CuratorFrameworkFactory.builder() .connectString("172.171.51.151:2181") .authorization("digest","spjich:spjich".getBytes()) .retryPolicy(new RetryNTimes(3, 1000)) .connectionTimeoutMs(5000).build(); client.start();
- 节点的Listener事件受节点的ACL权限影响,如果Listener希望接收到某节点的事件,则必须有该节点的ACL权限
待补充.....................
相关推荐
Curator的JAR包则包含了一系列的API和工具,用于简化ZooKeeper的使用,尤其在集群协调组件的开发中起着关键作用。 `curator-framework-3.0.0.jar`是Curator的核心框架库,包含了对ZooKeeper的主要操作接口和类。这...
Curator 是 Apache ZooKeeper 的一个客户端库,提供了丰富的工具和模式,简化了 ZooKeeper 的使用。本示例将详细介绍如何利用 Curator 在 ZooKeeper 上进行数据操作以及实现分布式锁。 一、ZooKeeper 与 Curator 的...
在分布式系统中,确保数据的一致性和正确性是至关重要的,而ZooKeeper与Curator的结合使用就是解决这一问题的有效方案。ZooKeeper是一个高度可靠的分布式协调服务,它提供了诸如分布式锁、队列和配置管理等核心功能...
本篇文章将深入探讨Curator Framework的主要功能、使用方法以及示例代码。 1. **Zookeeper基础** Zookeeper是一个分布式协调服务,常用于管理配置信息、命名服务、集群状态同步、分布式锁等场景。它采用的是主从...
而Apache Curator是Facebook开源的一个ZooKeeper客户端库,它提供了更高级别的API,简化了ZooKeeper的使用,并增加了诸如连接管理、重试策略、事务操作等功能。 在Java开发中,Curator是使用ZooKeeper最常用且推荐...
最后,`guava-17.0.jar`是Google Guava库,提供了大量的Java实用工具类,如集合、并发、缓存、I/O等,Curator使用Guava来增强其功能,如使用Guava的缓存来缓存Zookeeper节点的数据。 总的来说,这些JAR文件构建了一...
而Curator则是Zookeeper的一个客户端库,为开发者提供了更高级别的抽象和工具,简化了Zookeeper的使用。 Zookeeper 3.4.6是其稳定且广泛采用的一个版本,它提供了丰富的API和强大的一致性模型。在这个版本中,...
总的来说,Curator框架极大地简化了Zookeeper的使用,提供了丰富的功能和易于使用的API,使开发者能够更专注于业务逻辑而不是底层的协调细节。在项目中集成这些依赖包,能够有效地支持分布式环境下的协调需求。
赠送jar包:curator-client-4.3.0.jar; 赠送原API文档:curator-client-4.3.0-javadoc.jar; 赠送源代码:curator-client-4.3.0-sources.jar; 赠送Maven依赖信息文件:curator-client-4.3.0.pom; 包含翻译后的API...
赠送jar包:curator-framework-2.6.0.jar; 赠送原API文档:curator-framework-2.6.0-javadoc.jar; 赠送源代码:curator-framework-2.6.0-sources.jar; 赠送Maven依赖信息文件:curator-framework-2.6.0.pom; ...
赠送jar包:curator-client-2.7.1.jar; 赠送原API文档:curator-client-2.7.1-javadoc.jar; 赠送源代码:curator-client-2.7.1-sources.jar; 赠送Maven依赖信息文件:curator-client-2.7.1.pom; 包含翻译后的API...
赠送jar包:curator-framework-4.0.1.jar; 赠送原API文档:curator-framework-4.0.1-javadoc.jar; 赠送源代码:curator-framework-4.0.1-sources.jar; 赠送Maven依赖信息文件:curator-framework-4.0.1.pom; ...
Curator客户端是Apache Curator框架的一部分,该框架为开发人员提供了一系列高级API和工具,用于处理常见的ZooKeeper用例,降低了使用ZooKeeper的复杂性。以下是对Curator客户端及其主要特性的详细阐述: 1. **连接...
Apache Curator 是一个高度封装的 ZooKeeper Java 客户端库,它简化了与 ZooKeeper 交互的复杂性,提供了更高级别的抽象和实用工具。...使用 Curator 5.6.0,你可以更加便捷地实现分布式协调、配置管理和一致性服务。
赠送jar包:curator-recipes-2.6.0.jar; 赠送原API文档:curator-recipes-2.6.0-javadoc.jar; 赠送源代码:curator-recipes-2.6.0-sources.jar; 赠送Maven依赖信息文件:curator-recipes-2.6.0.pom; 包含翻译后...
Apache Curator 是一个高度抽象和完善的客户端库,用于简化 Apache ZooKeeper 的使用。ZooKeeper 是一个分布式的、开放源代码的服务,它提供一个高可用的、高性能的分布式协调服务,广泛应用于分布式系统中,如...
赠送jar包:curator-client-2.7.1.jar; 赠送原API文档:curator-client-2.7.1-javadoc.jar; 赠送源代码:curator-client-2.7.1-sources.jar; 赠送Maven依赖信息文件:curator-client-2.7.1.pom; 包含翻译后的API...
客户端是Curator Framework,是Apache的项目,它主要的功能是为ZK的客户端使用提供了高可用的封装。在Curator Framework基础上封装的curator-recipes,实现了很多经典场景。比如:集群管理(Leader选举)、共享锁、...
赠送jar包:curator-client-2.6.0.jar; 赠送原API文档:curator-client-2.6.0-javadoc.jar; 赠送源代码:curator-client-2.6.0-sources.jar; 赠送Maven依赖信息文件:curator-client-2.6.0.pom; 包含翻译后的API...
赠送jar包:curator-framework-4.3.0.jar; 赠送原API文档:curator-framework-4.3.0-javadoc.jar; 赠送源代码:curator-framework-4.3.0-sources.jar; 赠送Maven依赖信息文件:curator-framework-4.3.0.pom; ...