Zookeeper实例ZkClient API-创建一个Zookeeper客户端


import java.io.IOException;
import org.I0Itec.zkclient.ZkClient;

/**
 * 
* @ClassName: Create_Session_Sample 
* @Description: TODO(使用ZkClient来创建一个ZooKeeper客户端) 
* @author 
* @date 2017年6月14日 下午12:46:49 
*
 */
public class Create_Session_Sample {
    public static void main(String[] args) throws IOException, InterruptedException {
    	ZkClient zkClient = new ZkClient("localhost:2181", 5000);
    	System.out.println("ZooKeeper session established.");
    }
}

输出:
ZooKeeper session established.


注意:

Zookeeper客户端调用是一个异步的过程,而ZkClient通过内部包装,将这个异步的绘画创建过程同步化了,构造方法中的IZkConnection是对Zookeeper原生接口的包装,也是Zookeeper最直接的交互层,里面包含两种实现,分别是ZkConnection和InMemoryConnection,前者是我们最长用的实现方式,之前提到过Zookeeper的节点内容只支持字节数组(byte[]),也就是说Zookeeper不负责内容的序列化,ZkClient中定义了ZkSerializer接口,允许用户传入一个序列化的实现,默认情况下使用Java自带的序列化方式进行对象的序列化。

ZkClient的构造方法中不再提供传入Watcher对象的参数了,而是引入了大多数Java程序都使用的Listener来实现Watcher注册。


扩展


Zookeeper实例ZkClient API-创建一个Zookeeper客户端_第1张图片

Zookeeper实例ZkClient API-创建一个Zookeeper客户端_第2张图片



参考

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

2. http://javadox.com/com.101tec/zkclient/0.4/org/I0Itec/zkclient/ZkClient.html

你可能感兴趣的:(Zookeeper)