zookeeper Java 客户端
所属分类 zookeeper
浏览量 1304
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知识点