etcd VS Apache ZooKeeper

Compare etcd vs Apache ZooKeeper and see what are their differences.

Our great sponsors
  • SonarLint - Clean code begins in your IDE with SonarLint
  • InfluxDB - Access the most powerful time series database as a service
  • SaaSHub - Software Alternatives and Reviews
etcd Apache ZooKeeper
48 33
42,871 11,143
1.1% 1.1%
9.9 8.8
7 days ago 7 days ago
Go Java
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

etcd

Posts with mentions or reviews of etcd. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-02-19.
  • Why is the principle stating that "interfaces should belong to the package that uses values of the interface type, not the package that implements those values" sometimes violated?
    2 projects | reddit.com/r/golang | 19 Feb 2023
    While exploring popular projects such as etcd and especially traefik, I noticed a violation of the principle that states "interfaces should belong to the package that uses values of the interface type, not the package that implements those values." For example, Here we can see that ManagerFactory import Registry interface that placed here and implementations of this interface in the same package, which violates the aforementioned principle. Even if the interface is simply a specification, it should still be defined on the consumer side. Is it considered bad practice to follow what traefik does in this case or I doesn't understand somthing? P.S. I'm newcomer, so sorry if it's silly question.
  • How to implement a distributed /etc directory using etcd and JuiceFS
    2 projects | dev.to | 9 Feb 2023
    In case of data sensitivity, you can enable the encrypted communication function of etcd for encrypted data transmission. Refer to the sample script provided by the etcd project.
  • How to get a head start into contributing to open source projects
    3 projects | reddit.com/r/cscareerquestions | 30 Jan 2023
    Step 0: You have a strong grasp on who uses the tool/product/service and for what purpose. That can take weeks, months, or years depending on the specific project you're contributing to. A little NodeJS module? Probably closer to days. etcd? Probably closer to months/years.
  • Secret Management in Kubernetes: Approaches, Tools, and Best Practices
    8 projects | dev.to | 23 Jan 2023
    etcd is not secure - etcd is where Kubernetes secrets are stored. Though etcd is a distributed key/value store with great performance, it lacks key features when it comes to handling sensitive data such as audit log, key rotation, and encryption of key.
  • šŸ’”Hosted ETCD aaS
    2 projects | dev.to | 10 Jan 2023
    You know how Kubernetes is absolutely blowing up? Well there's one piece of technology that it all depends on -- etcd.
  • ETCD Backup with K10 / Kanister
    2 projects | reddit.com/r/kubernetes | 4 Jan 2023
    FROM quay.io/coreos/etcd:v3.5.0 as etcd FROM alpine:3.17 RUN apk add --no-cache tar # Taken from https://github.com/etcd-io/etcd/blob/main/Dockerfile-release.amd64 COPY --from=etcd /usr/local/bin/etcd /usr/local/bin/ COPY --from=etcd /usr/local/bin/etcdctl /usr/local/bin/ COPY --from=etcd /usr/local/bin/etcdutl /usr/local/bin/ COPY --from=etcd /etc/nsswitch.conf /etc/nsswitch.conf CMD ["/usr/local/bin/etcd"]
  • a tool for quickly creating web and microservice code
    28 projects | dev.to | 15 Dec 2022
    Service registry and discovery etcd, consul, nacos
  • Kubernetes: What It Is, How It Works, and Why It's A Game changer
    5 projects | dev.to | 3 Dec 2022
    Yes, Kubernetes, in fact, relies on a number of other free and open source software packages. As a base, it relies on the Docker container runtime and the CoreOS Linux distribution, and it utilizes other open source projects for a number of its components, such as etcd for distributed key-value storage. The tool's core and control plane are both built in GO programming language, making it a completely Go-based application. Kubernetes itself is an open source project and has been used as a building block for other open source projects.
  • A poor man's API
    9 projects | dev.to | 23 Nov 2022
    APISIX stores its configuration in etcd
  • How to choose the right API Gateway
    15 projects | dev.to | 22 Nov 2022
    Next, review deployment complexity such as DB-less versus database-backed deployments. For example, Kong does require running Cassandra or Postgres. Apigee requires Cassandra, Zookeeper, and Postgres to run, while other solutions like Express Gateway and Tyk only require Redis. Apache APISIX uses etcd as its data store, it stores and manages routing-related and plugin-related configurations in etcd in the Data Plane.

Apache ZooKeeper

Posts with mentions or reviews of Apache ZooKeeper. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-03-19.

What are some alternatives?

When comparing etcd and Apache ZooKeeper you can also consider the following projects:

Hazelcast - Open-source distributed computation and storage platform. Real-time Stream Processing Unconference. Save Your Spot https://hazelcast.com/lp/unconference/

kubernetes - Production-Grade Container Scheduling and Management

consul - Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure.

Zuul - Zuul is a gateway service that provides dynamic routing, monitoring, resiliency, security, and more.

JGroups - The JGroups project

minio - Multi-Cloud :cloud: Object Storage

Akka - Build highly concurrent, distributed, and resilient message-driven applications on the JVM

Vault - A tool for secrets management, encryption as a service, and privileged access management

Atomix - A Kubernetes toolkit for building distributed applications using cloud native principles

consul-template - Template rendering, notifier, and supervisor for @HashiCorp Consul and Vault data.

Hystrix - Hystrix is a latency and fault tolerance library designed to isolate points of access to remote systems, services and 3rd party libraries, stop cascading failure and enable resilience in complex distributed systems where failure is inevitable.