关键字:Curator-Framework开源Zookeeper快速开发框架介绍
Zookeeper 客户端框架 Curator-Framework 来自Netflix公司,现在归Apache,目前版本2.0.1!
在使用ZK开发时会遇到让人头疼的几个问题,ZK连接管理、SESSION失效等一些异常问题的处理,Curator替我们解决了这些问题,通过对ZK连接状态的监控来做出相应的重连等操作,并触发事件!
更好的地方是Curator对ZK的一些应用场景提供了非常好的实现,而且有很多扩充,这些都符合ZK使用规范。
主要组件
Recipes, ZooKeeper的系列recipe实现, 基于 Curator Framework.
Framework, 封装了大量ZooKeeper常用API操作,降低了使用难度, 基于Zookeeper增加了一些新特性,对ZooKeeper链接的管理,对链接丢失自动重新链接。
Utilities,一些ZooKeeper操作的工具类包括ZK的集群测试工具路径生成等非常有用,在Curator-Client包下org.apache.curator.utils。
Client,ZooKeeper的客户端API封装,替代官方 ZooKeeper class,解决了一些繁琐低级的处理,提供一些工具类。
Errors,异常处理, 连接异常等
Extensions,对curator-recipes的扩展实现,拆分为curator-:stuck_out_tongue_closed_eyes:iscovery和curator-:stuck_out_tongue_closed_eyes:iscovery-server提供基于RESTful的Recipes WEB服务.
其中Curator-Recipes包括有Elections(领导选举)、Locks(锁)、Queues(队列)、Barriers(屏障)、Counters(共享计数器)、Caches(状态管理,可用做配置管理、缓存等)
实践
官方提供学习实例curator-examples,可通过Maven下载,curator系列Maven地址 maven:org.apache.curator
本人基于Curator做几个常用场景的开发实例以供大家参考
配置管理 http://www.cnblogs.com/xguo/archive/2013/06/10/3130589.html
分布式队列处理 http://www.cnblogs.com/xguo/archive/2013/06/15/3137948.html
分享到:
相关推荐
3. `zookeeper-3.4.10.jar`: 这是Zookeeper的客户端库,用于连接到Zookeeper服务器并执行操作。 4. `curator-framework-4.0.1.jar`: Curator框架库,提供了更高级别的API,如异步操作、连接状态监听器等。 在项目中...
Curator 是一个基于 ZooKeeper 的开源客户端框架,它为 ZooKeeper 提供了高级抽象和功能,使得开发人员能够更方便地使用 ZooKeeper。 **Curator 框架概述** Curator 包含多个模块,如 ZooKeeper 客户端连接管理、...
public CuratorFramework curatorFramework(ZooKeeper zooKeeper) { CuratorFrameworkFactory.Builder builder = CuratorFrameworkFactory.builder(); builder.connectString(connectString); builder....
Curator是Apache开源的一个Zookeeper客户端连接和操作的组件,Curator框架在Zookeeper原生API接口上进行二次包装。提供ZooKeeper各种应用场景:比如:分布式锁服务、集群领导选举、共享计数器、缓存机制、分布式队列...
而Apache Curator是Facebook开源的一个ZooKeeper客户端库,它提供了更高级别的API,简化了ZooKeeper的使用,并增加了诸如连接管理、重试策略、事务操作等功能。 在Java开发中,Curator是使用ZooKeeper最常用且推荐...
这篇文章主要介绍了Zookeeper的三种Java客户端:原生Java API、ZkClient以及Apache Curator,并着重讨论了Curator的特性与优势。 一、Zookeeper原生Java API Zookeeper的原生Java API提供了基本的CRUD(创建、读取...
Curator是Netflix公司开源的一个针对ZooKeeper的高级Java客户端框架。它不仅简化了ZooKeeper的使用,还提供了丰富的抽象和工具类,使得开发者能够更加专注于业务逻辑而不用过多关注ZooKeeper的具体实现细节。Curator...
<artifactId>spring-cloud-starter-zookeeper-config 然后,我们可以在 application.properties 文件中配置 ZooKeeper 的连接信息: spring: cloud: zookeeper: connect-string: 192.168.3.98:2181 enabled:...
在创建`InterProcessMutex`实例时,需要提供一个`CuratorFramework`客户端和一个Zookeeper中的路径(锁的标识),通常这个路径会包含锁的所有者信息。 下面来看看示例代码: ```java import java.util.concurrent....
- **Dubbo**:阿里巴巴开源的一款高性能、轻量级的微服务框架。 - **Spring Cloud**:基于Spring Boot实现的一套微服务云应用及管理框架。 #### 二、Dubbo开发流程 Dubbo是一个分布式服务框架,它能够帮助开发者...
Apache ZooKeeper作为一个流行的开源框架,专门设计用于处理这些问题。本实践教程将指导你如何利用Zookeeper实现分布式锁,以便在分布式环境中保证资源访问的互斥性。 **1. Zookeeper概述** Zookeeper是一个分布式...
4. `curator-framework` 和 `curator-recipes`: Apache Curator库,用于Zookeeper客户端操作,Dubbo使用Zookeeper作为注册中心。 接下来,定义了`SentinelService`接口和其实现类`SentinelServiceImpl`。`sayHello`...
1. **单例模式:** `init`方法通过单例模式来初始化`CuratorFramework`客户端实例,确保整个应用程序中只有一个Zookeeper客户端实例,避免资源浪费和潜在的并发问题。 2. **重试策略:** 使用了`...
Curator是Netflix开源的Zookeeper客户端,它提供了一系列的高级抽象和工具,如curator-framework的Fluent风格API,简化了Zookeeper的操作。curator-replica则封装了复制和故障转移的逻辑,简化了应用开发。Curator还...
首先,我们通过CuratorFrameworkFactory创建了一个CuratorFramework实例,这是与ZooKeeper交互的主要对象。在创建CuratorFramework实例时,我们使用了RetryNTimes策略,这意味着在遇到连接问题时,客户端会尝试重新...
综上所述,"dubboservice:ddd"是一个基于Dubbo框架的服务,结合领域驱动设计的实践,利用ZooKeeper进行服务治理,并且需要注意与Curator-Framework的版本一致性问题。开发者可以通过获取并研究"**dubboservice-...
ZooKeeper的Java客户端包括Curator Framework、ZooKeeper Java API等。与ZooKeeper相比较的chubby是由Google提供的一个分布式锁服务,它有类似的用途但设计上有所不同。ZooKeeper的一些常用命令包括create、get、set...
此外,还有一些开源库,如`com.lmax.disruptor.SleepingWaitStrategy`或`org.apache.curator.framework.recipes.locks命名锁`等,提供了更高级的功能和优化。 `SleepingWaitStrategy`是Disruptor框架中的一个等待...