Zookeeper原生API-ZkClient-Curator对比

本文介绍了Zookeeper及其客户端ZkClient和Curator的功能特点。Zookeeper是分布式协调服务的基础组件,而ZkClient和Curator则分别通过简化API使用、提供高级特性等方式解决了原生API存在的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Zookeeper是一个开放源代码的分布式协调服务,由雅虎创建,是Google的Chubby开源实现,Zookeeper的设计目标是将那些复杂的容易出错的分布式一致性服务封装起来,构成一个可靠的原语集,并以一系列简单易用的接口暴露给用户使用。分布式应用程序可以基于它实现诸如发布/订阅、负载均衡、命名服务、分布式协调服务/通知,集群管理、Master选举、分布式锁和分布式队列等功能。

直接使用Zookeeper原生API的人并不多,因为:

1)连接的创建是异步的,需要开发人员自行编码实现等待 
2)连接没有超时自动的重连机制 
3)Zookeeper本身没提供序列化机制,需要开发人员自行指定,从而实现数据的序列化和反序列化 
4)Watcher注册一次只会生效一次,需要不断的重复注册 
5)Watcher的使用方式不符合java本身的术语,如果采用监听器方式,更容易理解 
6)不支持递归创建树形节点


ZkClient是Github上的一个开源Zookeeper客户端,是由Datameer工程师Stefan Groschupf和Peter Voss一起开发。ZkClient在原生Zookeeper api的基础上进行封装,是一个更易用的客户端,解决和如下问题:

1)session会话超时重连

2)解决Watcher反复注册

3)简化API开发


Curator是Netflix公司开源的一套Zookeeper客户端框架,作者是Jordan Zimmerman。Curator解决除了ZkClient提供的功能外,新增如下功能:

1)提供了一套Fluent风格的客户端API框架。

2)提供了各种应用场景(Recipe,如共享锁服务、Master选举机制和分布式计数器)的抽样封装。

更多关于Curator的知识请参看http://ifeve.com/zookeeper-curato-framework/



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值