【Curator】 

 和 ZkClient 一样,Curator 也是开源客户端,Curator 是 Netflix 公司开源的一套框架。

<dependency><groupId>org.apache.curator</groupId><artifactId>curator-framework</artifactId><version>2.8.0</version>
</dependency>

 创建连接

  •  static CuratorFramework newClient(String connectString,RetryPolicy retryPolicy)
  • static CuratorFramework newClient(String connectString,int sessionTimeOutMs,int connectionTimeOutMs,RetryPolicy retryPolicy)

和原生 API,ZkClient 客户端都不一样,Curator 通过 CuratorFrameworkFactory 来创建客户端,然后调用 start 方法来启动。

package zookeeper.curator;import org.apache.curator.RetryPolicy;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.CuratorFrameworkFactory;
import org.apache.curator.retry.ExponentialBackoffRetry;public class OpenCuratorClient {public static void main(String[] args) {RetryPolicy policy = new ExponentialBackoffRetry(1000, 3);CuratorFramework client = CuratorFrameworkFactory.newClient("127.0.0.1:2181",5000,3000,policy);client.start();}}

ExponentialBackoffRetry 是 SleepingRetry 实现类,而 SleepingRetry 又是 RetryPolicy 接口实现类。ExponentialBackoffRetry(1000, 3) 表示初始 sleep 时间 1 秒,重试次数为 3。

创建节点

  • public CreateBuilder create()
  • public ProtectACLCreateModePathAndBytesable<String> creatingParentsIfNeeded()
  • public T withMode(CreateMode mode)
  • public T forPath(String path,byte[] data) throws Exception
  • public T forPath(String path) throws Exception
package zookeeper.curator;import org.apache.curator.RetryPolicy;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.CuratorFrameworkFactory;
import org.apache.curator.retry.ExponentialBackoffRetry;
import org.apache.zookeeper.CreateMode;public class OpenCuratorClient {public static void main(String[] args) {RetryPolicy policy = new ExponentialBackoffRetry(1000, 3);CuratorFramework client = CuratorFrameworkFactory.newClient("127.0.0.1:2181",5000,3000,policy);client.start();try {client.create().creatingParentsIfNeeded().withMode(CreateMode.EPHEMERAL).forPath("/app2","app2".getBytes());} catch (Exception e1) {e1.printStackTrace();}try {Thread.sleep(Integer.MAX_VALUE);} catch (InterruptedException e) {e.printStackTrace();}}}

  

谢谢大家观看!

转载于:https://www.cnblogs.com/xums/p/7220493.html

聊聊、Zookeeper 客户端 Curator相关推荐

  1. Zookeeper客户端Curator使用详解

    http://www.jianshu.com/p/70151fc0ef5d Zookeeper客户端Curator使用详解 简介 Curator是Netflix公司开源的一套zookeeper客户端框 ...

  2. ZooKeeper客户端Curator的基本使用

    前提:ZooKeeper版本:3.4.14      Curator版本:2.13.0 1.什么是Curator Curator是Netflix公司开源的一套zookeeper客户端框架,解决了很多Z ...

  3. 【高级篇】详解Zookeeper客户端Curator

    一.序言 之前分享过一篇关于Curotor的基本应用[基础篇]详解Zookeeper客户端Curator,如果对Curator没有了解的可以看看,本文分享关于Curator的一些高级特性,在监听和le ...

  4. 【基础篇】详解Zookeeper客户端Curator

    一.前言 Zookeeper被广泛应用于分布式环境下各种应用程序的协调,而Curator无疑是Zookeeper客户端中的瑞士军刀,解决了很多Zookeeper客户端非常底层的细节开发工作,包括连接重 ...

  5. Zookeeper客户端Curator详解

    一.Curator 客户端使用 Curator是 Netflix公司开源的一套ZooKeeper客户端框架,和 ZkClient一样它解决了非常底层的细节开发工作,包括连接.重连.反复注册Watche ...

  6. zookeeper客户端 curator的使用

    curator简介 Curator是Netflix公司开源的一个Zookeeper客户端,与Zookeeper提供的原生客户端相比,Curator的抽象层次更高,提供了各种应用场景的实现封装,flue ...

  7. 2.ZooKeeper客户端Curator「第三章 ZooKeeper Java客户端」「架构之路ZooKeeper理论和实战」

    前言 上一篇文章 介绍了zookeeper原生API的使用,使用过原生API不得不说,有很多的问题,比如:不能递归创建和删除节点.Watcher只能使用一次.还有很多可以解决分布式应用问题的api(比 ...

  8. Zookeeper客户端Curator Framework使用

    Curator是Zookeeper开源的客户端框架,封装了很多API,使用起来非常的方便,直接进入正题,讲解如何使用. 一.客户端创建 使用静态工厂方式进行创建,connectionInfo为Zook ...

  9. ZooKeeper客户端Curator使用一 创建连接

    如何创建一个ZK连接 工厂方法newClient() public static void main(String[] args) {final String connectString = &quo ...

最新文章

  1. jvm两种方式获取对象所占用的内存
  2. Linux输入不同颜色字体
  3. apache-spark导入eclipse环境
  4. 蓝牙BLE LINK LAYER剖析(二) -- PDU
  5. PHP个人博客项目------切切歆语博客
  6. Python面向对象基础:编码细节和注意事项
  7. php连接db2失败,PHP_浅谈DB2数据库故障处理及最佳实践,  当你在使用数据库时,可 - phpStudy...
  8. python效率低为什么_为什么 Python 这么慢?
  9. nginx 配置反向代理
  10. 世界电子书展:号称最大的电子书库
  11. mysql recordcount 1_移植到 MySQL-对 MYSQL 数据库使用 ASP Recordcount 的问题
  12. 2022年招商团长未来两年发展趋势分析
  13. CAS:870041-75-0,DMAc-PP,热活化延迟荧光(TADF)材料
  14. Android版数据结构与算法汇总十二章
  15. 胃溃疡 ---- 四药同治(丽珠得乐、奥美拉唑、阿莫西林 + 克林霉素)
  16. 爬虫项目:scrapy爬取昵图网全站图片
  17. bt5重启网卡命令_BT5之网络配置
  18. 白鹭引擎开发飞机大战详尽教程(三创建飞机)
  19. 怎么调整电脑的鼠标的灵活度
  20. 小学计算机教育教案,小学信息技术教学设计.doc

热门文章

  1. CSS 伪类与伪元素
  2. JS显示document里所有的成员
  3. DOM操作表格的各种属性[z]
  4. mini2440 之——LED简单控制(裸机) c与汇编
  5. mysql事务的提交和回滚
  6. leetcode Longest Palindromic Substring
  7. android 插件化 模块化开发(apkplug)
  8. 汇编语言--loop指令
  9. oracle之TNS:无监听程序解决办法
  10. python三十三:sys模块