四.ZooKeeper构造函数

Zookeeper(Arguments)方法,( 根据参数不同,一共有4个构造方法)

参数说明:

connectString:连接服务器列表,用","分割

sessionTimeout:心跳检测时间周期(超时时间,毫秒)

watcher:事件处理通知器

canBeReadOnly:标识当前会话是否支持只读,默认情况下,在Zookeeper集群中,一个机器如果和集群中过半及以上机器失去了网络连接,那么这个机器将不再处理客户端请求,但是在某些场景下,当ZooKeeper服务器发生此类故障的时候,我们还是希望ZooKeeper服务器能够提供读服务,这就是ZooKeeper的 只读 模式。

sessionId和sessionPasswd:分别代表会话ID和会话密钥,用于唯一确定一个会话,可以实现客户端会话复用,从而达到恢复会话的效果。具体的使用方法是,第一次连接上ZooKeeper服务器时,通过调用ZooKeeper对象实例的以下两个接口,即可获得当前会话的ID和秘钥:

long getSessionId();

byte[] getSessionPasswd();

获取到这两个参数值之后,就可以在下次创建ZooKeeper对象实例的时候传入构造方法了


注意:zookeeper客户端和服务器会话的建立是一个异步的过程,也就是说在程序中,我们程序方法在处理完客户端初始化后立即返回(也就是说程序往下执行代码,这样,大多数情况下我们并没有真正构建好一个可用的会话,在会话生命周期处于“CONNECTING”时才算真正建立完毕,所以我们需要使用CountDownLatch来进行协调)

你可能感兴趣的:(zookeeper源码分析)