`

zookeeper客户端:CuratorFramework (二)

 
阅读更多

 

CuratorFramework

(文档:http://curator.apache.org/curator-framework/index.html)

 

Framework 是什么?

 

  1. Curator是什么?

    Curator Framework 是zookeeper的一个high-level API;

  2. Curator能做什么?

    》自动链接管理, 如自动重连等;
    》简单的API;
    》特殊功能的实现等;如leader选举、共享锁等;

 Curator实例创建的两种方式
      A:工厂方法

            CuratorFrameworkFactory.newClient();

      B:使用builder

CuratorFramework client = CuratorFrameworkFactory.builder()

.connectString(hosts)

.sessionTimeoutMs(sessionTimeout)

.connectionTimeoutMs(connectionTimeout)

.canBeReadOnly(true)

.retryPolicy(new ExponentialBackoffRetry(1000, 100))

.defaultData(null)

.build();

 

    创建实例后,要先执行start()方法;

//初始化实例
client.start();


//关闭实例
client.close();

 
      PS: Curator实例是线程安全的,所以应该尽量重用同一个实例;

 CuratorFramework API

    Curator使用的是流畅表达(fluent style) 的接口风格。

 

client.create().forPath("/head", new byte[0]);
client.delete().inBackground().forPath("/head");
client.create().withMode(CreateMode.EPHEMERAL_SEQUENTIAL).forPath("/head/child", new byte[0]);
client.getData().watched().inBackground().forPath("/test");

 

 

 Method: 

     http://curator.apache.org/curator-framework/index.html)

Namespaces

  为了防止冲突,可能通过增加namespace的方式相同的path

CuratorFramework    client = CuratorFrameworkFactory.builder().namespace("MyApp") ... build();
 ...
client.create().forPath("/test", data);
// node was actually written to: "/MyApp/test"

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Zookeeper客户端Curator Framework使用代码

    Zookeeper客户端Curator Framework是Apache Zookeeper项目的一个高级封装库,它为开发者提供了一系列便捷的API,使得操作Zookeeper变得更加简单。本篇文章将深入探讨Curator Framework的主要功能、使用方法以及示例...

    zookeeper客户端curator操作示例

    而Apache Curator是Facebook开源的一个ZooKeeper客户端库,它提供了更高级别的API,简化了ZooKeeper的使用,并增加了诸如连接管理、重试策略、事务操作等功能。 在Java开发中,Curator是使用ZooKeeper最常用且推荐...

    Zookeeper开源客户端框架Curator简介与示例

    CuratorFramework client = CuratorFrameworkFactory.builder() .connectString("localhost:2181") .retryPolicy(new ExponentialBackoffRetry(1000, 3)) .build(); client.start(); try { // 创建一个持久...

    zookeeper Java api - curator 5.6.0

    CuratorFramework 是 Curator 的核心,它封装了 ZooKeeper 连接的创建、会话管理以及操作执行等。 3. **连接管理**:使用 `CuratorFrameworkFactory` 工厂类,你可以创建一个 ZooKeeper 客户端实例。例如: ```...

    zookeeper客户端与服务器管理包

    一、Apache Curator:Zookeeper客户端的利器 Apache Curator是Apache软件基金会的一个项目,它为Zookeeper提供了丰富的Java客户端库,简化了与Zookeeper交互的复杂性。在`apache-curator-2.5.0-source-release.zip`...

    项目加入zookeeper的依赖包(Curator框架)

    例如,创建一个Zookeeper客户端可以这样做: ```java import org.apache.curator.framework.CuratorFramework; import org.apache.curator.framework.CuratorFrameworkFactory; import org.apache.zookeeper.ZooDefs...

    springboot-zookeeper-curator.rar

    public CuratorFramework curatorFramework(ZooKeeper zooKeeper) { CuratorFrameworkFactory.Builder builder = CuratorFrameworkFactory.builder(); builder.connectString(connectString); builder....

    VIP-02 Zookeeper客户端使用与集群特性(1)

    ### VIP-02 Zookeeper客户端使用与集群特性(1) #### Curator介绍 Curator是Netflix公司开源的一个针对ZooKeeper的高级Java客户端框架。它不仅简化了ZooKeeper的使用,还提供了丰富的抽象和工具类,使得开发者能够...

    ZooKeeper-Curator:zookeeper的curator客户端

    - 初始化:启动`CuratorFramework`实例并连接到ZooKeeper服务器。 - 操作:使用`CuratorFramework`提供的API进行增删改查等操作。 - 监听:注册Watchers来监听ZNode的变化。 - 关闭:在应用结束时,记得关闭`...

    zookeeper两种客户端demo

    - 引入Curator的依赖,初始化 CuratorFramework 实例,并连接Zookeeper。 - 使用Curator提供的Factory类创建分布式锁、队列等高级服务。 - 利用RetryPolicy处理网络不稳定情况,确保操作的可靠性。 - 注意理解并...

    zk客户端curator2.11

    客户端是Curator Framework,是Apache的项目,它主要的功能是为ZK的客户端使用提供了高可用的封装。在Curator Framework基础上封装的curator-recipes,实现了很多经典场景。比如:集群管理(Leader选举)、共享锁、...

    4、zookeeper的java三种客户端介绍-Curator(crud、事务操作、监听、分布式计数器、分布式锁)

    在分布式系统中,Zookeeper作为一个高可用的分布式协调服务,被广泛用于管理配置信息、命名服务、集群同步...在选择Zookeeper客户端时,开发者可以根据项目需求和团队熟悉程度来决定是否采用Curator这样的高级客户端。

    springcloud集成zookeeper的方法示例

    接下来,我们可以使用 @Autowired 注解来注入 CuratorFramework: @Autowired private CuratorFramework curatorFramework; Curator 是 Netflix 公司开源的一个 ZooKeeper 客户端,与 ZooKeeper 提供的原生客户端...

    springboot整合zookeeper权限控制.zip

    当我们需要在Spring Boot应用中对Zookeeper进行权限控制时,可以借助Spring的Zookeeper客户端和 Digest 验证机制来实现。 首先,我们需要理解Zookeeper的权限控制机制。Zookeeper支持多种认证方式,如SASL、Digest...

    curator-framework-2.4.2.jar

    Curator解决了很多Zookeeper客户端非常底层的细节开发工作,包括连接重连,反复注册Watcher和NodeExistsException异常等,现已成为Apache的顶级项目。

    curator_zookeeper需要的jar

    例如,`org.apache.curator.framework.CuratorFramework`是Curator的主要入口点,通过它我们可以创建会话、获取数据、设置节点等。 2. `curator-recipes-2.8.0.jar`:这个库包含了Curator的各种高级功能或“食谱”,...

    apache-curator-3.2.0

    1. **Curator Framework**:这是 Curator 的核心组件,它提供了一种高层次的、面向对象的 API 来与 ZooKeeper 交互。它封装了会话管理、重试策略、连接状态监听器等功能,使得与 ZooKeeper 的通信变得更加简单。 2....

    zookeeper的jar包

    4. **curator-framework-3.2.1.jar, curator-recipes-3.2.1.jar, curator-client-3.2.1.jar**:这些是Apache Curator库的不同组件,Curator是Facebook贡献的一个Zookeeper客户端,简化了与Zookeeper交互的复杂性。...

    springboot zookeeper 分布式锁

    值得注意的是,这种实现方式需要处理一些边缘情况,比如网络抖动可能导致Zookeeper客户端断开连接,这时需要重试或重新连接。此外,为了保证锁的公平性,应避免死锁和活锁的情况,例如通过超时机制释放锁。 总结来...

    基于zookeeper的分布式锁实现demo

    1. **单例模式:** `init`方法通过单例模式来初始化`CuratorFramework`客户端实例,确保整个应用程序中只有一个Zookeeper客户端实例,避免资源浪费和潜在的并发问题。 2. **重试策略:** 使用了`...

Global site tag (gtag.js) - Google Analytics