etcd
consul
etcd | consul | |
---|---|---|
85 | 65 | |
49,267 | 28,969 | |
0.9% | 0.4% | |
9.9 | 9.3 | |
7 days ago | 6 days ago | |
Go | Go | |
Apache License 2.0 | GNU General Public License v3.0 or later |
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
-
Explore the essentials of ETCD, a powerful distributed database
GitHub Repository. etcd-io/etcd
-
Designing a fault-tolerant etcd cluster
etcd (https://etcd.io/) is an open-source leader-based distributed key-value datastore designed by a vibrant team of engineers at CoreOS in 2013 and donated to Cloud Native Computing Foundation (CNCF) in 2018. Since then, etcd has grown to be adopted as a datastore in major projects like Kubernetes, CoreDNS, OpenStack, and other relevant tools. etcd is built to be simple, secure, reliable, and fast (benchmarked 10,000 writes/sec), it is written in Go and uses the Raft consensus algorithm to manage a highly-available replicated log. etcd is strongly consistent because it has strict serializability (https://jepsen.io/consistency/models/strict-serializable), which means a consistent global ordering of events, to be practical, no client subscribed to an etcd database will ever see a stale database (this isn't the case for NoSQl databases the eventual consistency of NoSQL databases ). Also unlike traditional SQL databases, etcd is distributed in nature, allowing high availability without sacrificing consistency.
etcd is an open-source leader-based distributed key-value datastore designed by a vibrant team of engineers at CoreOS in 2013 and donated to Cloud Native Computing Foundation (CNCF) in 2018. Since then, etcd has grown to be adopted as a datastore in major projects like Kubernetes, CoreDNS, OpenStack, and other relevant tools. etcd is built to be simple, secure, reliable, and fast (benchmarked 10,000 writes/sec), it is written in Go and uses the Raft consensus algorithm to manage a highly-available replicated log. etcd is strongly consistent because it has strict serializability, which means a consistent global ordering of events, to be practical, no client subscribed to an etcd database will ever see a stale database (this isn't the case for NoSQl databases the eventual consistency of NoSQL databases ). Also unlike traditional SQL databases, etcd is distributed in nature, allowing high availability without sacrificing consistency.
-
Unlock your Kubernetes to run custom resource based microservices in any scale
Unfortunately there is a big problem with custom controllers, they can't handle huge amount of data for several reasons. Kubernetes relies on ETCD for all data storage, which limits scalability, flexibility, and performance for complex or high-volume workloads. What kind of problems I'm talking about?
-
AWS Config vs Kubernetes Native Policy Engines: Who Governs What?
In Amazon EKS, AWS Config helps you track key components such as: EKS control plane logging, VPC settings and network exposure, encryption status for logs and secrets and IAM roles used by worker node groups. It can detect misconfigurations like: 🚫 Publicly accessible EKS clusters ⚠️ Disabled encryption for secrets stored in Kubernetes ETCD ⚠️ Ensures EKS clusters are running on currently supported versions,
-
Securing Kubernetes: Encrypting Data at Rest with kubeadm and containerd on Amazon Linux 2023
curl -LO https://github.com/etcd-io/etcd/releases/download/v3.5.21/etcd-v3.5.21-linux-amd64.tar.gz tar xzf etcd-v3.5.21-linux-amd64.tar.gz
-
My Learnings About Etcd
Etcd is a distributed key-value store, somewhat like Redis, but it operates quite differently under the hood (more on this later). It's implemented in Golang and is fully open-source.
-
I Stopped Using Kubernetes. Our DevOps Team Is Happier Than
> https://github.com/etcd-io/etcd/issues/9771
> stale bot marked this as completed (by fucking closing it)
Ah, yes, what would a Kubernetes-adjacent project be without a fucking stale bot to close issues willy nilly
-
The Double-Edged Sword of Microservices: Balancing Abstraction and Complexity
Using a service discovery mechanism: A service discovery mechanism, such as etcd or ZooKeeper, can help to manage the complexity of microservices by providing a centralized registry of available services and their instances.
-
Announcing Integration between Apache APISIX and open-appsec WAF
ETCD_VERSION='3.5.4' wget https://github.com/etcd-io/etcd/releases/download/v${ETCD_VERSION}/etcd-v${ETCD_VERSION}-linux-amd64.tar.gz tar -xvf etcd-v${ETCD_VERSION}-linux-amd64.tar.gz && cd etcd-v${ETCD_VERSION}-linux-amd64 cp -a etcd etcdctl /usr/bin/ nohup etcd >/tmp/etcd.log 2>&1 & etcd
consul
-
A Guide to Setting up Service Discovery for APIs
Consul, HashiCorp's distributed system tool, isn't just a one-trick pony for service discovery—it's a Swiss Army knife that also handles configuration management and network segmentation.
-
A Comparative Analysis of K3s, MicroK8s, and Alternatives
I had a distaste for Nomad before the rug pull[1], but hopefully no serious person would voluntarily choose Nomad after that stunt. Doubly so that going with the Nomad ecosystem mandates self-hosting as one cannot $(aws elastic-nomad create-cluster). I was similarly surprised that HashiCorp didn't even offer "you pay for compute but we will administer your control plane" since both the "community" and the "enterprise" links from the front page both say "self-managed"
I will be super curious to see if IBM Cloud actually does ship $(ibm-cloud-cli create-nomad)
1: I also didn't realize they rug pulled Consul, too; that's just cruel https://github.com/hashicorp/consul/blob/v1.20.5/LICENSE
-
Why We Chose NGINX + HashiStack Over Kubernetes for Our Service Discovery Needs
No need for NGINX reloads: Since NGINX queries the Consul Go API client for healthy services on each request, there’s no need to reload NGINX whenever a service moves between nodes or when new instances are added.
-
Work Stealing: Load-balancing for compute-heavy tasks
When a backend starts or stops, something needs to update, whether it’s Consul, kube-proxy, ELB, or otherwise. To stop a worker without incurring failures, you need to prevent the load balancer from sending new requests and then finishing existing ones.
- Installing Consul Bash Script
-
Secure and Resilient Design
Consul - To set up secure network communication via mTLS, service location and certificate issuance
-
Service Registry: When should you use them and why?
Hashicorp Consul
-
Deploy Secure Spring Boot Microservices on Amazon EKS Using Terraform and Kubernetes
The JHipster scaffolded sample application has a gateway application and two microservices. It uses Consul for service discovery and centralized configuration.
-
The Complete Microservices Guide
Service Discovery: Microservices need to discover and communicate with each other dynamically. Service discovery tools like etcd, Consul, or Kubernetes built-in service discovery mechanisms help locate and connect to microservices running on different nodes within the infrastructure.
-
Replicating and Load Balancing Go Applications in Docker Containers with Consul and Fabio
After some research and testing, I landed on using Consul and Fabio as the demo infrastructure. Of course, there is a myriad of other options to accomplish this task, but because of the low configuration and ease of use, I was impressed with this pairing. Both projects are mature and well-supported, and very flexible--just because you can run them with low configuration, doesn't mean you have to. I wanted to keep this demo constrained, but the exercise did get me excited about exploring things further: circuit breakers, traffic splitting, and more complex service meshes.
What are some alternatives?
minio - MinIO is a high-performance, S3 compatible object store, open sourced under GNU AGPLv3 license.
kubernetes - Production-Grade Container Scheduling and Management
Vault - A tool for secrets management, encryption as a service, and privileged access management
Apache ZooKeeper - Apache ZooKeeper
Caddy - Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS