网站做好后,找片子有什么好的关键词推荐,漯河高端网站建设,做的网站侵犯美的商标赔偿多少钱本教程使用的 IDE 为 IntelliJ IDEA#xff0c;创建一个 maven 工程#xff0c;命名为 zookeeper-demo#xff0c;并且引入如下依赖#xff0c;可以自行在maven中央仓库选择合适的版本#xff0c;介绍原生 API 和 Curator 两种方式。
IntelliJ IDEA 相关介绍#xff1a;…本教程使用的 IDE 为 IntelliJ IDEA创建一个 maven 工程命名为 zookeeper-demo并且引入如下依赖可以自行在maven中央仓库选择合适的版本介绍原生 API 和 Curator 两种方式。
IntelliJ IDEA 相关介绍 简单使用示例:
实例
Intellij IDEA 使用教程Maven IntelliJ dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.11/versionscopetest/scope
/dependency
dependencygroupIdorg.apache.zookeeper/groupIdartifactIdzookeeper/artifactIdversion3.4.8/version
/dependency
dependencygroupIdorg.apache.curator/groupIdartifactIdcurator-framework/artifactIdversion4.0.0/version
/dependency
dependencygroupIdorg.apache.curator/groupIdartifactIdcurator-recipes/artifactIdversion4.0.0/version
/dependency maven 工程目录结构 一、客户端的 zookeeper 原生 API 使用 zookeeper 原生 API,连接上一教程搭建的三台服务组成的集群因为连接需要时间用 countDownLatch 阻塞等待连接成功控制台输出连接状态 实例 ...public static void main(String[] args) {try {final CountDownLatch countDownLatchnew CountDownLatch(1);ZooKeeper zooKeepernew ZooKeeper(192.168.3.33:2181, 192.168.3.35:2181,192.168.3.37:2181,4000, new Watcher() {Overridepublic void process(WatchedEvent event) {if(Event.KeeperState.SyncConnectedevent.getState()){//如果收到了服务端的响应事件连接成功countDownLatch.countDown();}}});countDownLatch.await();//CONNECTEDSystem.out.println(zooKeeper.getState());}
}
... 控制台输出 connected 显示连接成功! 简单示例添加节点 API: zooKeeper.create(/runoob,0.getBytes(),ZooDefs.Ids.OPEN_ACL_UNSAFE,CreateMode.PERSISTENT); 提示更多命令功能使用请参考本教程后面章节。 同时在服务端终端执行命令显示设置成功。 二、客户端的curator连接 Curator 是 Netflix 公司开源的一套 zookeeper 客户端框架解决了很多 Zookeeper 客户端非常底层的细节开发工作包括连接重连、反复注册 Watcher 和 NodeExistsException 异常等。 Curator 包含了几个包 curator-framework对 zookeeper 的底层 api 的一些封装。curator-client提供一些客户端的操作例如重试策略等。curator-recipes封装了一些高级特性如Cache 事件监听、选举、分布式锁、分布式计数器、分布式 Barrier 等。简单使用示例: public class CuratorDemo {public static void main(String[] args) throws Exception {CuratorFramework curatorFrameworkCuratorFrameworkFactory.builder().connectString(192.168.3.33:2181, 192.168.3.35:2181,192.168.3.37:2181).sessionTimeoutMs(4000).retryPolicy(newExponentialBackoffRetry(1000,3)).namespace().build();curatorFramework.start();Stat statnew Stat();//查询节点数据byte[] bytes curatorFramework.getData().storingStatIn(stat).forPath(/runoob);System.out.println(new String(bytes));curatorFramework.close();}
} 上一步设置了 /runoob 节点值所以控制台输出。 curator 相关参考链接: Apache Curator。 希望你也学会了更多编程源码模板请来二当家的素材网https://www.erdangjiade.com