Zookeeper实例Curator API-使用curator来创建一个ZooKeeper客户端

时间:2021-11-03 21:13:12


import org.apache.curator.RetryPolicy;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.CuratorFrameworkFactory;
import org.apache.curator.retry.ExponentialBackoffRetry;

/**
*
* @ClassName: Create_Session_Sample
* @Description: TODO(使用curator来创建一个ZooKeeper客户端)
* @author RongShu
* @date 2017年6月17日 上午9:44:04
*
*/
public class Create_Session_Sample {
public static void main(String[] args) throws Exception {
RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000, 3);
CuratorFramework client = CuratorFramework.newClient("localhost:2181", 5000, 3000,retryPolicy);
client.start();
Thread.sleep(Integer.MAX_VALUE);
}
}


注意:

和ZkClient一样,Curator解决了很多Zookeeper客户端非常底层的细节开发工作,包括连接重连、反复注册Watcher和NodeExistsException异常等,除了以上,Curator还提供了一套易用性和可读性更强的Fluent风格的客户端API框架。除此之外,Curator还提供了Zookeeper各种应用场景(Recipe,如共享锁服务、Master选举机制和分布式计数器等)的抽象封装

Curator使用CuratorFrameworkFactory这个工厂类的两个静态方法来创建客户端。并通过start()方法来启动会话。retryPolicy重试策略默认有四种实现(Exponential Backoff Retry、RetryNTimes、RetryOneTime、RetryUntilElapsed)


扩展


Zookeeper实例Curator API-使用curator来创建一个ZooKeeper客户端Zookeeper实例Curator API-使用curator来创建一个ZooKeeper客户端

Zookeeper实例Curator API-使用curator来创建一个ZooKeeper客户端

Zookeeper实例Curator API-使用curator来创建一个ZooKeeper客户端

参考

1.《从Paxos到Zookeeper:分布式一致性原理与实践》

2.  http://curator.apache.org/apidocs/index.html