awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
etcd-io avatar

etcd-io/etcd

0
View on GitHub↗
51,838 stars·10,397 forks·Go·Apache-2.0·12 viewsetcd.io↗

Etcd

etcd is a distributed, strongly consistent key-value store designed to provide reliable storage for critical system metadata and coordination primitives. It functions as a distributed consensus engine, utilizing a replicated log and leader-based state machine to ensure that all nodes in a cluster maintain a synchronized view of data. By providing atomic operations and linearizable reads and writes, it serves as a foundational component for distributed systems requiring high availability and fault tolerance.

The system distinguishes itself through its multi-version concurrency control, which enables non-blocking read operations while maintaining strict consistency for concurrent writes. It supports complex distributed coordination through features like lease-based expiration, which allows for the automatic removal of data based on client activity, and asynchronous key change monitoring, which provides real-time event notifications for data modifications. These capabilities are supported by a persistent B-tree-based storage engine and write-ahead logging to ensure durability across system crashes.

Beyond its core storage functions, the project provides a comprehensive suite of tools for cluster management, including automated peer discovery via DNS or service registries and robust security enforcement. It includes built-in mechanisms for transport layer security, role-based access control, and certificate management to protect data in transit and at rest. Operational reliability is further maintained through snapshot-based disaster recovery, cluster health monitoring, and granular performance tuning for disk and network resources.

The system is configured through structured files or command-line flags, allowing for flexible deployment across diverse infrastructure environments.

Features

  • Strongly Consistent Data Stores - Guarantees linearizable read and write operations to uphold strict data integrity across all nodes.
  • Atomic Key-Value Operations - Executes read-modify-write cycles as indivisible units to maintain data integrity and synchronization.
  • Multi-Version Concurrency Controls - Tracks historical data revisions to permit non-blocking read operations during concurrent write activity.
  • Write-Ahead Logs - Logs all state changes to sequential files to guarantee data durability and consistency before application.
  • Cluster and Service Orchestration - Registers service instances and network locations in real-time to facilitate dynamic discovery and orchestration.
  • Consensus Engines - Powers distributed agreement on the state of replicated data through a robust consensus engine.
  • Raft Consensus Implementations - Utilizes the consensus protocol to manage replicated logs and coordinate leader election across distributed nodes.
  • Distributed Coordination Services - Coordinates distributed state through primitives such as leader election and shared locking mechanisms.
  • High Availability State Stores - Maintains critical system metadata and state in a fault-tolerant manner, ensuring availability despite individual node failures.
  • Distributed System Security - Enforces strict authentication, authorization, and encrypted transport protocols across multi-node infrastructure environments.
  • Distributed Key-Value Stores - Stores critical configuration data and coordination primitives using a strongly consistent, distributed architecture.
  • B-Tree - Indexes system metadata in persistent tree structures to enable efficient disk-based range queries and lookups.
  • Change Notification Streams - Streams asynchronous notifications to subscribers whenever data modifications occur within specific key ranges.
  • Distributed Configuration Management - Synchronizes configuration state across distributed clusters to ensure consistent application behavior.
  • Lease Management Systems - Manages time-bound resource ownership that automatically expires upon heartbeat failure.
  • Heartbeat and Timeout Configurations - Configures heartbeat intervals and election timeouts to fine-tune cluster stability and failure detection thresholds.
  • TLS Certificate Management - Supports seamless security certificate rotation for client connections without requiring server restarts.
  • Peer Communication Security - Secures peer-to-peer communication through authenticated, encrypted data exchange between individual cluster nodes.
  • Secure Network Communication - Protects network traffic by enabling encrypted connections and identity verification between clients and servers.
  • Database Systems - Distributed key-value store for critical system metadata.
  • Database Tools - Distributed KV store.
  • Databases - Distributed key-value store for critical system configuration data.
  • Databases and Storage - Distributed reliable key-value store.
  • Cloud Native Security - Distributed key-value store for Kubernetes.
  • Infrastructure and Containers - Distributed key-value store for critical system data.
  • Service Discovery - Distributed key-value store for shared configuration and discovery.
  • Cloud Security - Distributed key-value store used in Kubernetes.
  • Access Control - Implements role-based authentication and authorization to control access to sensitive distributed resources.
  • Disaster Recovery Systems - Restoration of cluster state occurs via periodic data snapshots to ensure continuity and integrity after catastrophic failures.
  • Cluster Discovery Mechanisms - Nodes automatically identify and track peer status by exchanging state information through periodic network messages.
  • Snapshot Management Strategies - Compaction of logs after specific data changes manages disk usage and memory by controlling the frequency of state snapshots.
  • Command Line Configuration Interfaces - Command-line flags define runtime parameters for member identity, networking, storage, and cluster performance tuning.
  • DNS-Based Discovery - Initialization of clusters happens by querying DNS records to resolve peer addresses and client endpoints in dynamic environments.
  • Registry-Based Service Discovery - Integration with external service registries allows nodes to identify and connect to new members when IP addresses are unknown.
  • Cluster Bootstrapping Mechanisms - Bootstrapping involves defining member addresses and cluster sizes within configuration files to ensure nodes identify peers before startup.
  • System Performance Optimization - Analysis of latency and throughput metrics identifies performance bottlenecks to optimize storage engine behavior for high-demand applications.
  • Monitoring and Observability - Telemetry collection provides visibility into health and performance metrics to debug operational issues and ensure reliability.
  • Disk I/O Prioritization Policies - Prioritization of disk input and output operations prevents latency spikes from competing processes to maintain stable performance.

Star history

Star history chart for etcd-io/etcdStar history chart for etcd-io/etcd

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Etcd

Similar open-source projects, ranked by how many features they share with Etcd.
  • hazelcast/hazelcasthazelcast avatar

    hazelcast/hazelcast

    6,570View on GitHub↗

    Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to support real-time analytics and event-driven applications. It functions as a partitioned, distributed key-value store that replicates data across cluster nodes to provide low-latency access and high availability. The platform also serves as a distributed SQL query engine, allowing users to execute standard SQL statements against both in-memory datasets and external data sources. What distinguishes Hazelcast is its use of a distributed consensus subsystem to maintain strongly consis

    Javabig-datacachingdata-in-motion
    View on GitHub↗6,570
  • hashicorp/consulhashicorp avatar

    hashicorp/consul

    29,943View on GitHub↗

    Consul is a distributed coordination service and service mesh tool used for service discovery, health monitoring, and cluster state management across dynamic networks. It provides a platform for locating network addresses of services and managing traffic across distributed infrastructure using DNS and HTTP interfaces. The project distinguishes itself through multi-datacenter network orchestration, enabling the federation of services across different regions using mesh gateways. It secures communication via a service mesh architecture that employs identity-based authorization and mutual TLS en

    Goapi-gatewayconsulecs
    View on GitHub↗29,943
  • nats-io/nats-servernats-io avatar

    nats-io/nats-server

    20,076View on GitHub↗

    NATS Server is a high-performance, lightweight messaging system designed for cloud-native applications, edge computing, and distributed microservices. It functions as a distributed publish-subscribe broker that routes messages using hierarchical, dot-separated subject strings, enabling decoupled communication between services without requiring centralized broker lookups. The system supports core messaging patterns including asynchronous publish-subscribe, request-reply, and load-balanced queue processing. The platform distinguishes itself through a decentralized architecture that eliminates t

    Gocloudcloud-computingcloud-native
    View on GitHub↗20,076
  • rqlite/rqliterqlite avatar

    rqlite/rqlite

    17,586View on GitHub↗

    rqlite is a distributed relational database that replicates SQLite data across a cluster using the Raft consensus algorithm. It functions as a fault-tolerant storage system that provides high availability and a web API for executing SQL queries and managing relational data without requiring native database drivers. The system distinguishes itself by using an HTTP SQL interface to expose database operations and cluster management. It features a real-time change data capture stream that pushes database mutations to external HTTP endpoints via webhooks and supports the scaling of read throughput

    Goconsensusdatabasedistributed-database
    View on GitHub↗17,586
See all 30 alternatives to Etcd→

Frequently asked questions

What does etcd-io/etcd do?

etcd is a distributed, strongly consistent key-value store designed to provide reliable storage for critical system metadata and coordination primitives. It functions as a distributed consensus engine, utilizing a replicated log and leader-based state machine to ensure that all nodes in a cluster maintain a synchronized view of data. By providing atomic operations and linearizable reads and writes, it serves as a foundational component for distributed systems requiring high…

What are the main features of etcd-io/etcd?

The main features of etcd-io/etcd are: Strongly Consistent Data Stores, Atomic Key-Value Operations, Multi-Version Concurrency Controls, Write-Ahead Logs, Cluster and Service Orchestration, Consensus Engines, Raft Consensus Implementations, Distributed Coordination Services.

What are some open-source alternatives to etcd-io/etcd?

Open-source alternatives to etcd-io/etcd include: hazelcast/hazelcast — Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to… hashicorp/consul — Consul is a distributed coordination service and service mesh tool used for service discovery, health monitoring, and… nats-io/nats-server — NATS Server is a high-performance, lightweight messaging system designed for cloud-native applications, edge… rqlite/rqlite — rqlite is a distributed relational database that replicates SQLite data across a cluster using the Raft consensus… cockroachdb/cockroach — Cockroach is a distributed SQL database designed to scale horizontally across multiple nodes while maintaining strict… dgraph-io/badger — Badger is an embeddable key-value store written in Go that provides persistent data storage for byte keys and values.…