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
goraft avatar

goraft/raftArchived

0
View on GitHub↗
2,435 stars·477 forks·Go·MIT·9 views

Raft

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-phase commit process to ensure identical state machines cluster-wide. It handles cluster topology by modifying active node membership dynamically through added or removed instances without interrupting consensus operations. Additionally, it truncates historical log entries and saves storage snapshots to reclaim disk space and accelerate node recovery times, transmitting cluster coordination messages and consensus traffic between distributed nodes using standard network communication protocols.

Features

  • Raft Consensus Implementations - Implements the Raft consensus protocol in Go applications to keep distributed nodes synchronised and fault-tolerant.
  • Distributed Leader Election - Executes majority-vote leader elections to designate a single active data authority and prevent split-brain conflicts.
  • Consensus Log Replication - Distributes state change entries from the leader to follower nodes to maintain consistent data across the cluster.
  • Leader Election - Conducts periodic node elections using majority votes to designate a single data authority.
  • Quorum-Based Elections - Runs automated node elections with majority voting to elect a single active data authority.
  • Application State Machines - Applies committed transaction logs sequentially to local state machines for consistent cluster-wide storage.
  • Replicated State Machines - Maintains identical state across all nodes by applying an ordered sequence of replicated transaction logs.
  • Dynamic Cluster Membership Management - Coordinates the addition and removal of cluster nodes dynamically without interrupting active operations.
  • Log Compaction - Truncates historical log entries and saves storage snapshots to accelerate node recovery times.
  • Snapshot-Based Compactions - Captures full state machine snapshots and truncates historical logs to reclaim disk space.

Star history

Star history chart for goraft/raftStar history chart for goraft/raft

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

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

Projects sharing features with Raft

These projects share indexed features with Raft. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • 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
  • 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
  • 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
Compare all 30 related projects→

Frequently asked questions

What does goraft/raft do?

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.

What are the main features of goraft/raft?

The main features of goraft/raft are: Raft Consensus Implementations, Distributed Leader Election, Consensus Log Replication, Leader Election, Quorum-Based Elections, Application State Machines, Replicated State Machines, Dynamic Cluster Membership Management.

Which projects share features with goraft/raft?

Projects with overlapping indexed features include: sofastack/sofa-jraft — sofa-jraft is a Java implementation of the Raft consensus algorithm. It serves as a distributed consensus engine and… wenweihu86/raft-java — Raft-java is a lightweight Java consensus library and replicated state machine engine designed to synchronize… willemt/raft — Raft is a portable C programming library that implements the Raft distributed consensus protocol. It serves as a state… canonical/dqlite — dqlite is a distributed SQL database that embeds a relational database engine to provide replicated storage across a… baidu/braft — braft is an embeddable C++ library that implements the Raft consensus algorithm, providing a distributed consensus… maemual/raft-zh_cn — This project is a Chinese language translation of the original research paper detailing the Raft consensus protocol.…

Curated searches featuring Raft

Hand-picked collections where Raft appears.
  • Distributed consensus algorithm