Zookeeper开源客户端Curator

Curator介绍:

Curator是Netflix公司开源的一套Zookeeper客户端框架。了解过Zookeeper原生API都会清楚其复杂度。Curator帮助我们在其基础上进行封装、实现一些开发细节,包括接连重连、反复注册Watcher和NodeExistsException等。目前已经作为Apache的顶级项目出现,是最流行的Zookeeper客户端之一。从编码风格上来讲,它提供了基于Fluent的编程风格支持。

除此之外,Curator还提供了Zookeeper的各种应用场景:Recipe、共享锁服务、Master选举机制和分布式计数器等。

Curator的maven依赖:

<dependency>
	<groupId>org.apache.curator</groupId>
	<artifactId>curator-framework</artifactId>
	<version>2.4.2</version>
</dependency>
 <!--注意:maven需要配置镜像-->
    创建会话 Curator的创建会话方式与原生的API和ZkClient的创建方式区别很大。Curator创建客户端是通过CuratorFrameworkFactory工厂类的两个静态方法来创建一个客户端: public static CuratorFramework newClient(String connectString, RetryPolicy retryPolicy) public static CuratorFramework newClient(String connectString, int sessionTimeoutMs, int connectionTimeoutMs, RetryPolicy retryPolicy) 通过调用CuratorFramework中的start() 方法来启动会话 创建会话API参数说明:

通过接口RetryPolicy来实现自定义的重试策略,接口中定义了一个方法:

public boolean allowRetry(int retryCount, long elapsedTimeMs, RetrySleeper sleeper);

经验分享 程序员 微信小程序 职场和发展