Apache Curator logo

Apache Curator

Apache Curator is a Java/JVM client library for Apache ZooKeeper, governed by the Apache Software Foundation, that provides a high-level API framework, fluent builders, and pre-built distributed coordination recipes including leader election, distributed locks, barriers, caches, counters, and service discovery. It significantly simplifies writing reliable distributed applications.

1 APIs 8 Features
ApacheDistributed CoordinationDistributed SystemsJavaMavenOpen SourceService DiscoveryZooKeeper

APIs

Apache Curator

Curator provides a high-level Java API with fluent builders for ZooKeeper operations, along with pre-built recipes for leader election, distributed locks (shared, reentrant, rea...

Features

High-Level ZooKeeper Client

Wraps the raw ZooKeeper client with connection management, retry policies, and error handling for reliable distributed coordination.

Fluent Builder API

Provides a chainable, readable Java DSL for all ZooKeeper CRUD operations including watchers, transactions, and ACLs.

Distributed Coordination Recipes

Pre-built implementations of distributed patterns: leader election, locks, semaphores, barriers, counters, queues, and group membership.

Service Discovery

curator-x-discovery provides a ZooKeeper-based service registry and discovery mechanism with instance registration and lookup.

Asynchronous DSL

curator-async provides a CompletionStage-based async API with O/R modeling and schema migration for ZooKeeper data.

Node Caching

CuratorCache provides an efficient local replica of ZooKeeper subtrees with near-real-time change notifications.

Testing Support

curator-test includes TestingServer (embedded ZooKeeper) and TestingCluster for writing reliable unit and integration tests.

Retry Policies

Configurable retry policies (ExponentialBackoff, BoundedExponentialBackoff, RetryNTimes, etc.) for handling transient failures.

Use Cases

Distributed Leader Election

Elect a single leader across a cluster for coordinating distributed workloads, using LeaderLatch or LeaderSelector recipes.

Distributed Locking

Prevent concurrent access to shared resources across JVMs using InterProcessMutex and related lock recipes.

Service Registry and Discovery

Register microservices with ZooKeeper and discover them by type using curator-x-discovery.

Distributed Configuration

Store and watch shared configuration data across a cluster with automatic change notifications via NodeCache.

Cluster Membership Tracking

Track which nodes are alive in a distributed cluster using GroupMember and PersistentNode recipes.

Distributed Counters and IDs

Generate globally unique sequential IDs or maintain shared atomic counters across a cluster.

Integrations

Apache ZooKeeper

Curator is built on top of ZooKeeper and requires a running ZooKeeper ensemble.

Apache Kafka

Earlier versions of Kafka used ZooKeeper (managed via Curator) for broker coordination and metadata.

Apache HBase

HBase uses ZooKeeper for master election and region server coordination, often managed via Curator.

Apache Storm

Storm uses Curator for its ZooKeeper-based cluster state management.

Spring Framework

Spring Cloud Zookeeper integrates with Apache Curator for service discovery and distributed configuration.

Maven Central

All Curator modules are published to Maven Central under org.apache.curator group ID.

Semantic Vocabularies

Apache Curator Context

5 classes · 27 properties

JSON-LD

Resources

🌐
Portal
Portal
🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
👥
GitHubOrganization
GitHubOrganization
👥
GitHubRepository
GitHubRepository
👥
StackOverflow
StackOverflow
🔗
Vocabulary
Vocabulary