awesome-repositories.com
Blog
MCP
awesome-repositories.com

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

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

Distributed consensus algorithm

Ranking updated Jul 28, 2026

For distributed consensus, the strongest matches are apache/zookeeper (ZooKeeper is a distributed coordination service and consensus engine), baidu/braft (This C++ library implements the Raft consensus algorithm for) and coreos/etcd (It is a distributed key-value store that implements the). sofastack/sofa-jraft and lni/dragonboat round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.

Explore the top open-source distributed consensus algorithm repositories, ranked by stars and activity. Compare implementations to find the best fit.

Distributed consensus algorithm

Find the best repos with AI.We'll search the best matching repositories with AI.
  • apache/zookeeperapache avatar

    apache/zookeeper

    12,763View on GitHub↗

    ZooKeeper is a distributed coordination service that provides a centralized system for managing configuration, naming, and synchronization across a cluster of distributed processes. It functions as a cluster consensus service, a distributed configuration store, and a distributed lock manager to maintain a consistent state across multiple network nodes. The service implements a consensus protocol to ensure data consistency and uses a replicated state machine to maintain identical copies of the system state across all servers. It provides a distributed lock management system to coordinate exclu

    ZooKeeper is a distributed coordination service and consensus engine that uses atomic broadcast protocols to maintain replicated state and synchronize configuration across a cluster of nodes.

    JavaDistributed Consensus ProtocolsReplicated State MachinesConsensus Protocols
    View on GitHub↗12,763
  • baidu/braftbaidu avatar

    baidu/braft

    4,216View on GitHub↗

    braft is an embeddable C++ library that implements the Raft consensus algorithm, providing a distributed consensus engine for building fault-tolerant, replicated state machines. At its core, it manages leader election, log replication, cluster membership changes, and state machine synchronization across a cluster of nodes, ensuring strong consistency and data durability even in the face of node failures. The library distinguishes itself through a comprehensive set of mechanisms for reliable distributed coordination. It uses a randomized timeout-based leader election process with term manageme

    This C++ library implements the Raft consensus algorithm for building fault-tolerant replicated state machines, offering leader election, log replication, membership changes, and state machine synchronization.

    C++Raft Consensus ImplementationsReplicated State MachinesConsensus Log Replication
    View on GitHub↗4,216
  • coreos/etcdcoreos avatar

    coreos/etcd

    51,846View on GitHub↗

    etcd is a distributed key-value store and configuration store designed to maintain a consistent set of data across a cluster of nodes. It functions as a reliable registry for storing and synchronizing critical settings and metadata used by distributed applications. The system implements the Raft consensus algorithm to ensure data consistency and leader election across servers. To protect data transfers and verify node identities, it utilizes a network security layer based on mutual TLS and client certificates. Its capabilities cover distributed configuration management, cluster state synchro

    It is a distributed key-value store that implements the Raft consensus algorithm for reliable state replication and cluster coordination across multiple nodes, matching the core requirements.

    GoRaft Consensus ImplementationsCluster State Coordinators
    View on GitHub↗51,846
  • sofastack/sofa-jraftsofastack avatar

    sofastack/sofa-jraft

    3,806View on GitHub↗

    sofa-jraft is a Java implementation of the Raft consensus algorithm. It serves as a distributed consensus engine and linearizable state machine designed to ensure high availability and data consistency across a cluster of nodes. The project provides a replicated key-value store and a coordination engine for managing distributed state. It distinguishes itself through support for multi-group consensus sharding to distribute traffic and a service provider interface that allows for custom log storage and entry encoding implementations. The system covers a wide range of distributed capabilities,

    This Java library implements the Raft consensus algorithm and state machine replication for coordinating distributed state across nodes, though it omits Paxos support.

    JavaRaft Consensus ImplementationsReplicated State MachinesRaft Implementations
    View on GitHub↗3,806
  • lni/dragonboatlni avatar

    lni/dragonboat

    5,308View on GitHub↗

    Dragonboat is a Go implementation of the Raft consensus protocol designed to maintain consistent state across a distributed cluster of nodes. It provides a library for building distributed state machines that ensure data integrity and fault tolerance during system failures. The project distinguishes itself through a multi-group Raft implementation, which partitions data across independent consensus groups to distribute workloads and increase overall system processing capacity. It also incorporates mutual TLS to encrypt inter-node communication and verify the identity of cluster members. The

    Dragonboat is a Go library implementing the Raft consensus protocol for building distributed state machines with fault tolerance and multi-group sharding, though it lacks Paxos support.

    GoRaft Consensus ImplementationsReplicated State MachinesMulti-Raft Sharding
    View on GitHub↗5,308
  • etcd-io/etcdetcd-io avatar

    etcd-io/etcd

    51,838View on GitHub↗

    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 e

    etcd is a distributed consensus engine utilizing the Raft algorithm for state machine replication and fault-tolerant coordination, making it a premier choice for reliable cluster state management.

    GoRaft Consensus Implementations
    View on GitHub↗51,838
  • hashicorp/rafthashicorp avatar

    hashicorp/raft

    9,037View on GitHub↗

    This is a Raft consensus library and distributed consensus engine implemented in Go. It provides the primitives necessary to build fault-tolerant distributed services by implementing a replicated state machine that ensures a group of servers agree on a shared system state through leader election and log replication. The project distinguishes itself through a pluggable architecture for storage backends and snapshot storage, decoupling the consensus logic from physical persistence. It includes specialized mechanisms for leadership transfer, protocol version management to support rolling upgrade

    This repository provides a robust Raft consensus library implemented in Go for replicating state across distributed nodes, though it focuses on the Raft protocol rather than Paxos.

    GoRaft Consensus ImplementationsReplicated State MachinesConsensus Protocols
    View on GitHub↗9,037
  • talent-plan/tinykvtalent-plan avatar

    talent-plan/tinykv

    3,938View on GitHub↗

    TinyKV is a distributed key-value store designed for storing and retrieving data across multiple nodes with high availability. It functions as a distributed database system that incorporates a dedicated key-value storage engine for raw data persistence and retrieval on individual nodes. The project includes a Raft consensus engine to ensure data consistency and fault tolerance across a cluster of servers. It also features a distributed transaction manager that coordinates atomic commits and concurrency control to maintain data integrity across shards. The system covers cluster membership man

    TinyKV is a distributed key-value store and consensus engine implementing Raft and cluster membership management, which provides the state coordination and fault tolerance needed to build distributed systems.

    GoRaft Consensus ImplementationsDynamic Cluster Membership Management
    View on GitHub↗3,938
  • tendermint/tenderminttendermint avatar

    tendermint/tendermint

    5,861View on GitHub↗

    Tendermint is a Byzantine fault tolerant consensus engine that replicates a deterministic state machine across a cluster of machines while tolerating up to one-third malicious validators. It functions as a blockchain application platform, connecting application logic to the consensus engine through a socket-based protocol that enables development in any programming language. The system commits blocks when more than two-thirds of weighted validators sign and broadcast their votes, with proof included in the next block. It provides cryptographic state verification, allowing efficient authentica

    Tendermint is a Byzantine fault-tolerant consensus engine that replicates deterministic state machines across a cluster, though it focuses on a BFT-specific model rather than classical Paxos or Raft algorithms.

    GoReplicated State Machines
    View on GitHub↗5,861
  • apache/brpcapache avatar

    apache/brpc

    17,545View on GitHub↗

    brpc is a high-performance C++ RPC framework and network programming library designed for building distributed systems. It functions as a multi-protocol RPC server capable of hosting and detecting multiple communication protocols, including gRPC, Thrift, HTTP, Redis, and Memcached, on a single TCP port. The project distinguishes itself through high-throughput data transport and memory efficiency, utilizing RDMA-based transport to bypass the kernel TCP stack and zero-copy memory management to eliminate data duplication. It also implements the Raft algorithm for consensus-based state replicatio

    brpc is a high-performance C++ RPC framework that includes built-in Raft consensus capabilities for distributed state replication, making it a fitting infrastructural tool although it is broader than a dedicated consensus library.

    C++Raft Consensus Implementations
    View on GitHub↗17,545
  • logcabin/logcabinlogcabin avatar

    logcabin/logcabin

    1,961View on GitHub↗

    LogCabin is a distributed storage system built on Raft that provides a small amount of highly replicated, consistent storage. It is a reliable place for other distributed systems to store their core metadata and is helpful in solving cluster management issues.

    LogCabin is a distributed storage system that implements the Raft consensus algorithm for state replication, making it a fitting engine for reliable node coordination despite focusing on storage metadata rather than being a generic consensus library.

    C++Consensus ImplementationsNetworking and Discovery
    View on GitHub↗1,961
  • etcd-io/raftetcd-io avatar

    etcd-io/raft

    1,051View on GitHub↗

    Raft library for maintaining a replicated state machine

    This Go library provides an implementation of the Raft consensus algorithm for maintaining a replicated state machine, though it focuses narrowly on the algorithm itself rather than serving as a full distributed database engine.

    GoDistributed Systems
    View on GitHub↗1,051
  • tikv/raft-rstikv avatar

    tikv/raft-rs

    3,351View on GitHub↗

    Raft-rs is a Raft consensus library and distributed consensus engine implemented in Rust. It functions as a systems-level protocol implementation that provides foundational message formats and data structures for state serialization across nodes. The library executes the underlying consensus protocol to ensure multiple distributed state machines agree on a shared sequence of log entries. It coordinates state changes across a cluster of nodes to keep replicated logs synchronized and consistent. Additional capabilities include defining protocol buffer messages for consensus communication, enco

    TiKV/raft-rs is a Rust library implementing the Raft distributed consensus algorithm, serving as a core state machine replication building block for distributed systems.

    RustDistributed Consensus ProtocolsRaft Consensus ImplementationsReplicated State Machines
    View on GitHub↗3,351
  • async-raft/async-raftasync-raft avatar

    async-raft/async-raft

    1,093View on GitHub↗

    Async-raft is an asynchronous consensus framework built on Rust for coordinating replicated state machines across distributed nodes. The library implements a leader-based consensus algorithm to ensure data consistency and fault tolerance, managing inter-node communication, log replication, and automated snapshot creation. The framework supports dynamic cluster topology modifications at runtime, allowing nodes to be added or removed without downtime through intermediate configuration phases. It handles log replication through batched and pipelined streaming with congestion control, alongside

    This asynchronous Rust implementation of the Raft protocol handles state replication across nodes, making it a fitting library for distributed consensus despite not covering Paxos.

    RustRaft Consensus ImplementationsConsensus Log ReplicationDynamic Cluster Membership Management
    View on GitHub↗1,093
  • willemt/raftwillemt avatar

    willemt/raft

    1,168View on GitHub↗

    Raft is a portable C programming library that implements the Raft distributed consensus protocol. It serves as a state machine replication engine and coordination primitive for building fault-tolerant distributed applications and clustered systems. The library manages leader election timeouts, heartbeat monitoring, and log replication across peer nodes to maintain consistent state across servers. It handles client write operations, redirects requests from non-leader nodes, processes voting and replication messages, and supports dynamic cluster membership changes through specialized log entri

    This repository provides a C implementation of the Raft consensus algorithm that handles node replication and state coordination, making it a fitting building block despite lacking Paxos and built-in network transport features.

    CRaft Consensus ImplementationsReplicated State MachinesRaft Implementations
    View on GitHub↗1,168
  • wenweihu86/raft-javawenweihu86 avatar

    wenweihu86/raft-java

    1,228View on GitHub↗

    Raft-java is a lightweight Java consensus library and replicated state machine engine designed to synchronize transaction logs and maintain fault-tolerant state across distributed server nodes. The framework relies on a leader-based replication model that routes write operations through a designated coordinator node, executing RPC-driven consensus protocols and automatic leader elections to maintain cluster agreement. The library supports dynamic cluster membership changes, allowing nodes to be added or removed during runtime without downtime through joint consensus configuration entries app

    This Java library implements the Raft consensus algorithm for distributed coordination, providing a solid foundation for state machine replication though it lacks Paxos support.

    JavaDistributed Consensus ProtocolsRaft Consensus ImplementationsReplicated State Machines
    View on GitHub↗1,228

Related searches

  • Distributed transaction protocols
  • a study path for distributed systems
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
apache/zookeeper12.8KJavaApache-2.0Jun 16, 2026
baidu/braft4.2KC++Apache-2.0Oct 25, 2024
coreos/etcd51.8KGoApache-2.0Jun 16, 2026
sofastack/sofa-jraft3.8KJavaApache-2.0Jun 16, 2026
lni/dragonboat5.3KGoApache-2.0Jul 23, 2025
etcd-io/etcd51.8KGoApache-2.0Jun 16, 2026
hashicorp/raft9KGoMPL-2.0Jun 11, 2026
talent-plan/tinykv3.9KGoApache-2.0May 3, 2025
tendermint/tendermint5.9KGoApache-2.0Jun 15, 2026
apache/brpc17.5KC++Apache-2.0Jun 22, 2026
a distributed database for horizontal scaling
  • Concurrency design patterns
  • CRDT implementation
  • a framework for building distributed computing systems
  • Consistent hashing algorithm
  • an open source library for p2p networking