awesome-repositories.com
Blog
MCP
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
·
Back to hashicorp/raft

Open-source alternatives to Raft

30 open-source projects similar to hashicorp/raft, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Raft alternative.

  • 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,

    Javaconsensusdistributed-consensus-algorithmsjava
    View on GitHub↗3,806
  • 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

    Javadistributed-file-systemdistributed-storageraft
    View on GitHub↗1,228
  • maemual/raft-zh_cnmaemual avatar

    maemual/raft-zh_cn

    6,287View on GitHub↗

    This project is a Chinese language translation of the original research paper detailing the Raft consensus protocol. It serves as a technical research translation and a consensus protocol guide, making the specifications of the Raft algorithm accessible to Chinese speakers. The documentation covers the core mechanisms of distributed systems, including leader election, log replication, and safety protocols. It provides a detailed explanation of how to maintain a single source of truth across multiple servers to achieve fault-tolerant cluster management. The material addresses distributed stat

    chineseraft
    View on GitHub↗6,287

AI search

Explore more awesome repositories

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

Find more with AI search
  • goraft/raftgoraft avatar

    goraft/raft

    2,435View on GitHub↗

    Raft is a Go library implementing the Raft consensus protocol for coordinating reliable state machine replication across a cluster. It functions as a distributed systems library for building applications that require strongly consistent replicated state, keeping distributed nodes synchronized and fault-tolerant through automated node elections and log distribution. The library conducts periodic node elections using majority votes to designate a single data authority and prevent split-brain conflicts, while distributing deterministic command logs from leaders to follower nodes using a multi-ph

    Go
    View on GitHub↗2,435
  • 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

    Craft-consensus-algorithm
    View on GitHub↗1,168
  • canonical/dqlitecanonical avatar

    canonical/dqlite

    4,338View on GitHub↗

    dqlite is a distributed SQL database that embeds a relational database engine to provide replicated storage across a cluster of nodes. It functions as a replicated SQL engine designed to ensure data remains available and consistent during node failures. The system utilizes a consensus algorithm to manage leader election and synchronize a replicated log across the cluster. This approach enables automatic cluster failover and leader promotion to maintain continuous service without manual intervention. The project covers state machine replication, network-based cluster membership, and transacti

    Cdatabaseraftsqlite
    View on GitHub↗4,338
  • erikgrinaker/toydberikgrinaker avatar

    erikgrinaker/toydb

    7,251View on GitHub↗

    ToyDB is a distributed SQL database that provides a system for storing and querying data across multiple nodes. It focuses on maintaining strong consistency and fault tolerance through the implementation of a distributed consensus algorithm. The project distinguishes itself by supporting historical data versioning, enabling time-travel queries to retrieve the state of the database from a specific point in the past. It utilizes multi-version concurrency control to manage ACID transactions and ensure data integrity during concurrent operations. The system covers relational data modeling with t

    Rust
    View on GitHub↗7,251
  • 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

    C++distributed-consensusdistributed-storageraft
    View on GitHub↗4,216
  • 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

    Rustasyncconsensusraft
    View on GitHub↗1,093
  • apple/foundationdbapple avatar

    apple/foundationdb

    16,446View on GitHub↗

    FoundationDB is an ACID-compliant distributed transactional key-value store. It functions as a scalable database engine that ensures strict serializability and data consistency across a cluster of servers using a shared-nothing architecture. The system is distinguished by its multi-region replication capabilities, allowing data to be synchronized across different datacenters for high availability and disaster recovery. It utilizes optimistic concurrency control to manage distributed transactions and employs a majority-based coordination system to maintain cluster state. The platform provides

    C++aciddistributed-databasefoundationdb
    View on GitHub↗16,446
  • temporalio/temporaltemporalio avatar

    temporalio/temporal

    18,411View on GitHub↗

    Temporal is a distributed workflow orchestration engine designed to manage fault-tolerant, stateful, and long-running background processes. It functions as a platform for coordinating complex cross-service operations, ensuring consistency and reliability in distributed environments by decoupling workflow orchestration from task execution. The platform distinguishes itself through a deterministic, event-sourced execution model that reconstructs workflow state by re-executing code from an immutable event log. This approach isolates non-deterministic side effects into managed activities, allowin

    Gocronjob-schedulerdistributed-crondistributed-systems
    View on GitHub↗18,411
  • travisjeffery/jockotravisjeffery avatar

    travisjeffery/jocko

    5,010View on GitHub↗

    Jocko is a cloud-native event streaming platform and distributed commit log implemented in Go. It functions as a distributed message broker that ensures data durability and high availability by replicating record sequences across a cluster. The system is designed as a Zookeeperless event streamer, utilizing built-in consensus coordination to manage cluster state and leader election without requiring external coordinator services. It implements the Kafka wire protocol, allowing it to communicate with existing ecosystem clients and tools. The platform provides capabilities for distributed log

    Godistributed-systemsgokafka
    View on GitHub↗5,010
  • 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

    Go
    View on GitHub↗3,938
  • admol/systemdesignAdmol avatar

    Admol/SystemDesign

    2,645View on GitHub↗

    This project is a reference library of architectural blueprints, study materials, and design patterns for building scalable, high-availability distributed systems. It serves as a technical guide for scalability engineering, providing structural solutions for common engineering challenges. The repository focuses on distributed systems design, covering essential patterns for data replication, consensus algorithms, and transaction management. It distinguishes itself by offering detailed blueprints for specialized domains, including real-time data streaming, large-scale data storage, and high-ava

    View on GitHub↗2,645
  • vonng/ddiaVonng avatar

    Vonng/ddia

    22,648View on GitHub↗

    This project serves as a comprehensive technical reference for the architecture and design of data-intensive applications. It provides a structured analysis of the fundamental principles required to build reliable, scalable, and maintainable software systems, covering the core trade-offs inherent in modern data infrastructure. The repository explores the mechanics of distributed data management, including strategies for replication, partitioning, and achieving consensus across multiple nodes. It details the design of storage engines, indexing techniques, and transaction management models, whi

    Pythonbookdatabaseddia
    View on GitHub↗22,648
  • distribworks/dkrondistribworks avatar

    distribworks/dkron

    4,696View on GitHub↗

    dkron is a distributed cron service and high availability task scheduler designed to execute scheduled commands across a cluster of servers. It functions as a scalable replacement for traditional cron by synchronizing task execution across multiple nodes to eliminate single points of failure. The system ensures fault tolerant task automation and high availability cron management through a distributed architecture. It utilizes a replicated state machine and consensus to maintain synchronized job schedules and provides automatic failover and redundancy. The platform covers distributed job sche

    Go
    View on GitHub↗4,696
  • doocs/advanced-javadoocs avatar

    doocs/advanced-java

    78,987View on GitHub↗

    This project is a comprehensive Java backend engineering guide and technical reference focused on high-concurrency design, distributed systems, and microservices architecture. It provides detailed strategies for decomposing monolithic applications, managing service discovery, and implementing the architectural patterns required for scalable backend environments. The repository distinguishes itself through an extensive collection of big data algorithmic references and database scaling strategies. It covers memory-efficient techniques for analyzing massive datasets, such as Top-K element extrac

    Javaadvanced-javadistributed-search-enginedistributed-systems
    View on GitHub↗78,987
  • 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
  • akkadotnet/akka.netakkadotnet avatar

    akkadotnet/akka.net

    5,023View on GitHub↗

    Akka.NET is an actor model framework used for building concurrent and distributed applications. It functions as a distributed computing platform and state manager that enables isolated actors to communicate via asynchronous message passing, ensuring thread-safe state management without manual locks. The project is distinguished by its decentralized coordination capabilities, including a distributed state manager that uses sharding and dynamic rebalancing to maintain high availability. It incorporates an event sourcing engine that persists state as a sequence of events in an append-only log an

    C#actoractor-modelakka
    View on GitHub↗5,023
  • hashicorp/nomadhashicorp avatar

    hashicorp/nomad

    16,211View on GitHub↗

    Nomad is a distributed workload orchestrator and infrastructure automation platform designed to manage the lifecycle of applications across large-scale, heterogeneous environments. It functions as a multi-cloud orchestration engine, providing a unified control plane to deploy, scale, and govern containers, virtual machines, and legacy applications. By utilizing declarative job specifications, the system ensures infrastructure convergence and maintains the desired state across distributed data centers and geographic regions. The platform distinguishes itself through a flexible, plugin-based ar

    Go
    View on GitHub↗16,211
  • 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

    Goconsensusdistributed-consensusdistributed-storage
    View on GitHub↗5,308
  • olric-data/olricolric-data avatar

    olric-data/olric

    3,469View on GitHub↗

    Olric is a distributed data grid and in-memory key-value store that partitions and replicates data across a cluster of servers. It serves as a shared memory system for managing distributed maps, performing atomic operations, and acting as an in-memory data cache. The system provides a distributed locking mechanism for concurrency control and a pub-sub messaging system that broadcasts and routes messages over named channels across the cluster. The platform covers wide-ranging capabilities including cluster management and orchestration, data replication with configurable quorums, and automated

    Gocachedatabasedistributed-cache
    View on GitHub↗3,469
  • fluxcd/flux2fluxcd avatar

    fluxcd/flux2

    7,888View on GitHub↗

    Flux is a Kubernetes GitOps delivery tool used to automate application deployments by synchronizing cluster state with configurations stored in Git, OCI, or Helm repositories. It functions as a set of controllers that monitor desired state in external sources and continuously reconcile the live cluster to match those definitions. The system distinguishes itself through a multi-cluster management plane that coordinates application delivery across fleets of remote clusters from a central hub. It provides a dedicated mechanism for automated image updates, which scans container registries for new

    Gocontinuous-deliverygitopsgitops-toolkit
    View on GitHub↗7,888
  • pingcap/tikvpingcap avatar

    pingcap/tikv

    16,724View on GitHub↗

    TiKV is a cloud-native distributed transactional key-value store and storage engine. It provides a distributed database designed for horizontal scalability and strong consistency across a cluster of physical nodes. The system uses a Raft-based consensus mechanism to maintain data availability and state synchronization. It ensures ACID compliance for distributed transactions through a two-phase commit workflow and manages data distribution via multi-Raft sharding. The engine handles massive datasets using automated range splitting and cluster load balancing to distribute data across different

    Rust
    View on GitHub↗16,724
  • 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

    C++rpc
    View on GitHub↗17,545
  • aphyr/distsys-classaphyr avatar

    aphyr/distsys-class

    9,717View on GitHub↗

    This project provides educational materials and courseware focused on the theoretical and practical foundations of distributed systems design. It serves as a comprehensive curriculum covering the disciplines of consensus, data consistency, reliability engineering, and scalability. The instructional content focuses on achieving cluster agreement through consensus algorithms and managing system-wide state via coordination frameworks. It includes a dedicated guide to data theory, exploring replication strategies, consistency models, and data convergence. The courseware covers a broad capability

    View on GitHub↗9,717
  • ergo-services/ergoergo-services avatar

    ergo-services/ergo

    4,441View on GitHub↗

    Ergo is a distributed actor framework for Go that implements the Erlang distribution protocol, enabling the construction of resilient, concurrent applications that can communicate transparently with Erlang/OTP nodes. At its core, it provides an actor model with isolated lightweight processes, priority-ordered mailboxes, and a meta-process architecture that separates blocking I/O from sequential message handling to prevent actor freezing. The framework includes a Raft-inspired cluster consensus system for leader election and automatic failover, along with OTP-style supervision trees that organi

    Goactor-modelactorsdistributed
    View on GitHub↗4,441
  • hyperledger/hyperledgerhyperledger avatar

    hyperledger/hyperledger

    3,745View on GitHub↗

    Hyperledger is an enterprise blockchain ecosystem consisting of a collection of open-source frameworks and libraries. It provides the distributed ledger technology and modular architectures necessary to build permissioned blockchain applications for industrial use cases. The project is characterized by a multi-framework ecosystem that separates consensus and membership services into interchangeable components. This modularity allows for the use of various agreement mechanisms, including crash-fault and Byzantine fault tolerant protocols, to maintain a synchronized and immutable record of tran

    blockchaindistributed-ledgerhyperledger
    View on GitHub↗3,745
  • dkron-io/dkrondkron-io avatar

    dkron-io/dkron

    4,699View on GitHub↗

    Dkron is a distributed, fault-tolerant system designed for scheduling and executing recurring tasks across a cluster of nodes. It functions as a cron-based orchestrator that manages job lifecycles, including automatic retries, timeouts, and complex dependencies, while ensuring state consistency through a consensus protocol. By coordinating remote task execution across infrastructure, it enables the automation of background operations and the management of distributed workflows. The system distinguishes itself through a modular architecture that supports pluggable storage backends and a plugin

    Gocrondistributed-systemsfault-tolerance
    View on GitHub↗4,699
  • hashicorp/memberlisthashicorp avatar

    hashicorp/memberlist

    4,068View on GitHub↗

    Memberlist is a Go library used for maintaining distributed cluster membership and failure detection via a peer-to-peer gossip protocol. It functions as a cluster state synchronizer, allowing nodes to track active members and propagate metadata without a central coordinator. The library implements a secure gossip mechanism using AES-GCM encryption to protect inter-node communication and membership data. It distinguishes its failure detection through a suspicion-based model and adaptive timeout scaling, which reduces false positives caused by transient network latency. The project provides ca

    Go
    View on GitHub↗4,068