首页  

zookeeper Java 客户端     所属分类 zookeeper 浏览量 1329
zookeeper原生的 
Apache Curator

自带的客户端由官方提供,比较底层,使用麻烦,不够直接。
Curator 对原生客户端进行封装,简便,易用。

推荐使用 Curator


自带客户端的一些问题

只是一个底层实现
使用复杂,需要写大量代码
很容易误用
需要自己处理连接丢失, 重试等

初始化连接的问题
在client与server握手建立连接的过程中,如果握手失败,执行所有的同步方法(比如create,getData等)将抛出异常

自动恢复(failover)的问题
当client与一台server的连接丢失,并试图去连接另外一台server时, client将回到初始连接模式

session过期的问题
在极端情况下,出现ZooKeeper session过期,客户端需要自己去监听该状态并重新创建ZooKeeper实例

对可恢复异常的处理
当在server端创建一个有序ZNode,而在将节点名返回给客户端时崩溃,此时client端抛出可恢复的异常,用户需要自己捕获这些异常并进行重试



Curator几个组件

1.Client 
自带客户端的替代品, 提供了一些底层处理和相关的工具方法

2.Framework 
用来简化ZooKeeper高级功能的使用, 并增加了一些新的功能, 比如管理到ZooKeeper集群的连接, 重试处理

3.Recipes 
实现了通用ZooKeeper的recipe, 建立在Framework之上
分布式锁 leader选举 等

4.Utilities 
实用工具类

5.Errors 
异常处理, 连接, 恢复等

6.Extensions
recipe扩展

recipes 方法 秘诀 诀窍

上一篇     下一篇
redis消息发布与订阅

Redis客户端 Jedis Redisson Lettuce 对比

zookeeper watch 机制

服务注册与发现组件比较

mybatis动态更新自动去掉多余逗号

dubbo知识点