ZooKeeper - Centralized service for maintaining configuration information

  •        0

ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. All of these kinds of services are used in some form or another by distributed applications.

The name space provided by ZooKeeper is much like that of a standard file system. A name is a sequence of path elements separated by a slash (/). Every node in ZooKeeper's name space is identified by a path. ZooKeeper supports the concept of watches. Clients can set a watch on a znodes. A watch will be triggered and removed when the znode changes. It supports replication.

In case of distributed system, there may be multiple servers interacting with each other. Few may need to share some common resources. Consider a scenario, where a application server wants to know the list of database servers, then it could communicate the Zookeeper server and fetch the required information.




Related Projects

Noah - Lightweight node/service registry inspired by Apache Zookeeper

Noah is a lightweight node/service registry inspired by Apache Zookeeper. It provides support for Service registry, Node registry, Configuration Registry, Group Services, Watches.

Apache Curator - Simplifies using ZooKeeper

The Curator Framework is a high-level API that greatly simplifies using ZooKeeper. It adds many features that build on ZooKeeper and handles the complexity of managing connections to the ZooKeeper cluster and retrying operations. Its features include Automatic connection management, Cleaner API, Leader election, Shared lock, Path cache and watcher, Distributed Queue and lot more.

Consul - Tool for Service Discovery, Monitoring and Configuration

Consul is a tool for service discovery and configuration. Consul is distributed, highly available, and extremely scalable. Consul makes it simple for services to register themselves and to discover other services via a DNS or HTTP interface. Register external services such as SaaS providers as well. It prevents routing requests to unhealthy hosts and enables services to easily provide circuit breakers.

etcd - Distributed reliable key-value store for the most critical data of a distributed system

etcd is a distributed, consistent key-value store for shared configuration and service discovery. It is simple, secure, fast and reliable. it uses the Raft consensus algorithm to manage a highly-available replicated log.

Doozer - A consistent distributed data store

Doozer is a highly-available, completely consistent store for small amounts of extremely important data. When the data changes, it can notify connected clients immediately (no polling), making it ideal for infrequently-updated data for which clients want real-time updates. Doozer is good for name service, database master elections, and configuration data shared between several machines.

constructr-zookeeper - This library enables to use ZooKeeper as cluster coordinator in a ConstructR based cluster

This library enables to use ZooKeeper as cluster coordinator in a ConstructR based node.ConstructR aims at cluster bootstrapping (construction) by using a coordination service and provides etcd as the default one. By means of this library, you will be able to use ZooKeeper as coordination service instead.

ishare - nodejs client for service coordination using zookeeper

nodejs client for service coordination using zookeeper

serf - Service orchestration and management tool

Serf is a decentralized solution for service discovery and orchestration that is lightweight, highly available, and fault tolerant.Serf runs on Linux, Mac OS X, and Windows. An efficient and lightweight gossip protocol is used to communicate with other nodes. Serf can detect node failures and notify the rest of the cluster. An event system is built on top of Serf, letting you use Serf's gossip protocol to propagate events such as deploys, configuration changes, etc. Serf is completely masterless with no single point of failure.

beacon - Service discovery for Docker and etcd.

This section defines service configuration including timeouts and servicelocation. Available parameters are:- `var` - The name of an environment variable on a container to read service configuration from. This defaults to `SERVICES`. The value of this variable is a comma separated list of service definitions. The structure of a service definition is `name:port/protocol` where `name` is the name of the service, `port` is the port the service listens on, and protocol is either `tcp` or `udp`.

Redisson - Redis based In-Memory Data Grid for Java

Redisson - distributed Java objects and services (Set, Multimap, SortedSet, Map, List, Queue, BlockingQueue, Deque, BlockingDeque, Semaphore, Lock, AtomicLong, Map Reduce, Publish / Subscribe, Bloom filter, Spring Cache, Executor service, Tomcat Session Manager, Scheduler service, JCache API) on top of Redis server. Rich Redis client.

galaxya - embeddable peer 2 peer service discovery and configuration

embeddable peer 2 peer service discovery and configuration

locojs - Web service management and discovery for localhost

Web service management and discovery for localhost

nerve - A service registration daemon that performs health checks; companion to airbnb/synapse

Nerve is a utility for tracking the status of machines and services.It runs locally on the boxes which make up a distributed system, and reports state information to a distributed key-value store.At Airbnb, we use Zookeeper as our key-value store.The combination of Nerve and [Synapse](https://github.com/airbnb/synapse) make service discovery in the cloud easy!

Extended WCF Discovery

Extend the WCF discovery to support: 1. Service publish its real service address - such as external IP when service is behind NAT 2. Client discovery over any network topology (behind NAT) Also (in the roadmap): Binding discovery-clients will receive the binding from the s...

zookeeper-leader-election - Implementation of a leader election service with Apache ZooKeeper.

Implementation of a leader election service with Apache ZooKeeper.


OpenNMS is the world's first enterprise grade network management platform developed under the open source model. A Java/XML-based Distributed Network & Systems Management platform.

OpenStack - Software for building Private and Public Clouds

OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface.

zookeeper-experiments - Experiments using the Apache Zookeeper coordination middleware

Experiments using the Apache Zookeeper coordination middleware

nanomsg-service-discovery - Service-discovery pattern implemented with nanomsg.

Service-discovery pattern implemented with nanomsg.