欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

聊聊、Zookeeper 客户端 Curator

发布时间:2025/5/22 编程问答 31 豆豆
生活随笔 收集整理的这篇文章主要介绍了 聊聊、Zookeeper 客户端 Curator 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

【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的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。