Need advice about which tool to choose?Ask the StackShare community!

Consul

950
1.2K
+ 1
202
Zookeeper

588
735
+ 1
40
Add tool

Consul vs Zookeeper: What are the differences?

Consul: A tool for service discovery, monitoring and configuration. Consul is a tool for service discovery and configuration. Consul is distributed, highly available, and extremely scalable; Zookeeper: Because coordinating distributed systems is a Zoo. 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.

Consul and Zookeeper can be primarily classified as "Open Source Service Discovery" tools.

"Great service discovery infrastructure" is the top reason why over 49 developers like Consul, while over 9 developers mention "High performance ,easy to generate node specific config" as the leading cause for choosing Zookeeper.

Consul is an open source tool with 16.2K GitHub stars and 2.82K GitHub forks. Here's a link to Consul's open source repository on GitHub.

DigitalOcean, imgix, and Leftronic are some of the popular companies that use Consul, whereas Zookeeper is used by Uber Technologies, Pinterest, and Coursera. Consul has a broader approval, being mentioned in 131 company stacks & 52 developers stacks; compared to Zookeeper, which is listed in 116 company stacks and 48 developer stacks.

Get Advice from developers at your company using Private StackShare. Sign up for Private StackShare.
Learn More
Pros of Consul
Pros of Zookeeper
  • 59
    Great service discovery infrastructure
  • 35
    Health checking
  • 27
    Distributed key-value store
  • 25
    Monitoring
  • 23
    High-availability
  • 11
    Web-UI
  • 10
    Token-based acls
  • 6
    Gossip clustering
  • 5
    Dns server
  • 1
    Docker integration
  • 10
    High performance ,easy to generate node specific config
  • 8
    Kafka support
  • 7
    Java
  • 5
    Spring Boot Support
  • 3
    Supports extensive distributed IPC
  • 2
    Supports DC/OS
  • 2
    Used in ClickHouse
  • 1
    Curator
  • 1
    Embeddable In Java Service
  • 1
    Used in Hadoop

Sign up to add or upvote prosMake informed product decisions

Sign up to add or upvote consMake informed product decisions

- No public GitHub repository available -

What is Consul?

Consul is a tool for service discovery and configuration. Consul is distributed, highly available, and extremely scalable.

What is Zookeeper?

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.

Need advice about which tool to choose?Ask the StackShare community!

What companies use Consul?
What companies use Zookeeper?
See which teams inside your own company are using Consul or Zookeeper.
Sign up for Private StackShareLearn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with Consul?
What tools integrate with Zookeeper?

Sign up to get full access to all the tool integrationsMake informed product decisions

Blog Posts

May 6 2020 at 6:34AM

Pinterest

+6
3
1923
What are some alternatives to Consul and Zookeeper?
etcd
etcd is a distributed key value store that provides a reliable way to store data across a cluster of machines. It’s open-source and available on GitHub. etcd gracefully handles master elections during network partitions and will tolerate machine failure, including the master.
SkyDNS
SkyDNS is a distributed service for announcement and discovery of services. It leverages Raft for high-availability and consensus, and utilizes DNS queries to discover available services. This is done by leveraging SRV records in DNS, with special meaning given to subdomains, priorities and weights (more info here: http://blog.gopheracademy.com/skydns).
Ambassador
Map services to arbitrary URLs in a single, declarative YAML file. Configure routes with CORS support, circuit breakers, timeouts, and more. Replace your Kubernetes ingress controller. Route gRPC, WebSockets, or HTTP.
Kubernetes
Kubernetes is an open source orchestration system for Docker containers. It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions.
Redis
Redis is an open source, BSD licensed, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets.
See all alternatives
How developers use Consul and Zookeeper
Soundcloud uses
Zookeeper

Initially, Stitch only supported real-time updates and addressed this problem with a MapReduce job named The Restorator that performed the following actions:

  • Calculated the expected totals
  • Queried Cassandra to get the values it had for each counter
  • Calculated the increments needed to apply to fix the counters
  • Applied the increments

Meanwhile, to stop the sand shifting under its feet, The Restorator needed to coordinate a locking system between itself and the real-time processors, so that the processors did not try to simultaneously apply increments to the same counter, resulting in a race-condition. It used ZooKeeper for this.

Pinterest uses
Zookeeper

Like many large scale web sites, Pinterest’s infrastructure consists of servers that communicate with backend services composed of a number of individual servers for managing load and fault tolerance. Ideally, we’d like the configuration to reflect only the active hosts, so clients don’t need to deal with bad hosts as often. ZooKeeper provides a well known pattern to solve this problem.

Chris Hartwig uses
Consul

All our services use Consul for discovery, configuration and cluster management (auto scaling, health monitoring, dynamic reconfiguration, leader elections)

Pinterest uses
Zookeeper

Zookeeper manages our state, and tells each node what version of code it should be running.

Ralic Lo uses
Zookeeper

Used Zookeeper as the resource management system for Mesos/Marathon services.

Tom Staijen uses
Consul

Discovery service. Some configuration is stored in consul.

Robert Hao uses
Consul

I used Consul as config center & service discoverer.

Nurul Ferdous uses
Zookeeper

Maintain a distributed cluster for search index

Ismael Arenzana uses
Consul

How else do you discover microservices? ;)

exana uses
Consul

For service discovery.