28 February 2015

Alternatives To Zookeeper

Zookeeper has over the years become a basis for many open source distributed service projects. Often the important aspects to consider when choosing the right location and coordination services is to understand the right discovery architecture as well as the operational requirements. In general, the key concerns are in load balancing, monitoring, integration, dependencies during runtime, as well as availability needs. As quantity of disparate service needs grow for scalability it becomes paramount to have dynamic service registries and discovery to coordinate their changing location and deployments in order to minimize failure and interruption. In many respects, Zookeeper can be viewed as a relatively old implementation and does not provide many out of the box service discovery options compared to new alternatives. Consul, for example, goes some ways further than Zookeeper in providing certain functional features and capabilities. There are also other interesting options like Eureka, Etcd, and Serf.  The intention for many dynamic service registries is to resolve the downsides of using standard DNS for finding nodes in a highly dynamic environments. The following list provides some alternatives to Zookeeper both from perspective of general and single purpose registries and coordination.

Consul
Doozer
Etcd
Serf
Accord
OpenReplica
Eureka
SmartStack
NSQ
SkyDNS
SpotifyDNS