前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Zookeeper开源客户端ZKClient和Curator简介

Zookeeper开源客户端ZKClient和Curator简介

作者头像
程序新视界
发布2018-01-08 14:46:03
1.6K0
发布2018-01-08 14:46:03
举报
文章被收录于专栏:丑胖侠丑胖侠

Zookeeper客户端提供了基本的操作,比如,创建会话、创建节点、读取节点、更新数据、删除节点和检查节点是否存在等。但对于开发人员来说,Zookeeper提供的基本操纵还是有一些不足之处。本篇博客就聊聊这些不足之处和两款开源框架ZKClient和Curator。

Zookeeper API不足之处

(1)Zookeeper的Watcher是一次性的,每次触发之后都需要重新进行注册; (2)Session超时之后没有实现重连机制; (3)异常处理繁琐,Zookeeper提供了很多异常,对于开发人员来说可能根本不知道该如何处理这些异常信息; (4)只提供了简单的byte[]数组的接口,没有提供针对对象级别的序列化; (5)创建节点时如果节点存在抛出异常,需要自行检查节点是否存在; (6)删除节点无法实现级联删除;

ZkClient简介

ZkClient是一个开源客户端,在Zookeeper原生API接口的基础上进行了包装,更便于开发人员使用。内部实现了Session超时重连,Watcher反复注册等功能。像dubbo等框架对其也进行了集成使用。

虽然ZkClient对原生API进行了封装,但也有它自身的不足之处:

  • 几乎没有参考文档;
  • 异常处理简化(抛出RuntimeException);
  • 重试机制比较难用;
  • 没有提供各种使用场景的实现;

Curator简介

Curator是Netflix公司开源的一套Zookeeper客户端框架,和ZkClient一样,解决了非常底层的细节开发工作,包括连接重连、反复注册Watcher和NodeExistsException异常等。目前已经成为Apache的顶级项目。另外还提供了一套易用性和可读性更强的Fluent风格的客户端API框架。

除此之外,Curator中还提供了Zookeeper各种应用场景(Recipe,如共享锁服务、Master选举机制和分布式计算器等)的抽象封装。

小结

上面介绍了Zookeeper原生API的不足和两款开源客户端的简介。后面的章节将会针对两款开源客户端进行详细的介绍。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-03-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Zookeeper API不足之处
  • ZkClient简介
  • Curator简介
  • 小结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档