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
async-raft avatar

async-raft/async-raft

0
View on GitHub↗
1,093 stars·85 forks·Rust·Apache-2.0·18 viewsasync-raft.github.io/async-raft↗

Async Raft

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 streaming chunked snapshots to synchronize lagging followers and reduce storage overhead.

Consensus logic is decoupled from persistence and networking layers using pluggable storage traits for log and state machine management. Additional operational utilities include cluster bootstrapping, read validation for client requests, internal metric streaming, and lifecycle management for graceful node shutdowns.

Features

  • Distributed Consensus Algorithms - Coordinates state machines across multiple nodes using a leader-based consensus algorithm to ensure consistency.
  • Consensus Engines - Provides an asynchronous consensus framework built on Rust and Tokio for replicated state machines.
  • Consensus State Backends - Saves consensus state, logs, and state machine data to persistent disk storage using pluggable backends.
  • Joint Consensus Protocols - Enables safe runtime cluster topology modifications through intermediate joint configuration phases.
  • Raft Consensus Implementations - Implements the Raft distributed consensus protocol to coordinate state machines and replicate logs.
  • Inter-Node Consensus Communication - Exchanges messages between cluster nodes to replicate logs, run elections, and distribute snapshots.
  • Task-Based Concurrency Frameworks - Handles concurrent peer communications, heartbeats, and client requests using cooperative multi-threading.
  • Trait-Based Service Abstractions - Decouples consensus logic from persistent backends by defining pluggable traits for log and state storage.
  • Asynchronous Event Loops - Drives consensus state transitions asynchronously through non-blocking event loops and state machine handlers.
  • Pipeline Batching - Groups multiple log entries and streams them concurrently with congestion control to maximize network throughput.
  • Dynamic Cluster Membership Management - Alters cluster topology dynamically at runtime by adding or removing nodes without downtime.
  • Snapshot-Based Compactions - Reduces log storage overhead by serializing state machine views and streaming chunked archives to lagging followers.
  • Consensus Log Replication - Pipelines and batches log replication between nodes with congestion control to keep followers up-to-date.
  • Client Request Management - Processes client requests by submitting mutating operations or validating cluster leaders before read execution.

Star history

Star history chart for async-raft/async-raftStar history chart for async-raft/async-raft

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. 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

Frequently asked questions

What does async-raft/async-raft do?

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.

What are the main features of async-raft/async-raft?

The main features of async-raft/async-raft are: Distributed Consensus Algorithms, Consensus Engines, Consensus State Backends, Joint Consensus Protocols, Raft Consensus Implementations, Inter-Node Consensus Communication, Task-Based Concurrency Frameworks, Trait-Based Service Abstractions.

What are some open-source alternatives to async-raft/async-raft?

Open-source alternatives to async-raft/async-raft include: sofastack/sofa-jraft — sofa-jraft is a Java implementation of the Raft consensus algorithm. It serves as a distributed consensus engine and… hashicorp/raft — This is a Raft consensus library and distributed consensus engine implemented in Go. It provides the primitives… willemt/raft — Raft is a portable C programming library that implements the Raft distributed consensus protocol. It serves as a state… wenweihu86/raft-java — Raft-java is a lightweight Java consensus library and replicated state machine engine designed to synchronize… baidu/braft — braft is an embeddable C++ library that implements the Raft consensus algorithm, providing a distributed consensus… goraft/raft — Raft is a Go library implementing the Raft consensus protocol for coordinating reliable state machine replication…

Open-source alternatives to Async Raft

Similar open-source projects, ranked by how many features they share with Async Raft.
  • 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
  • 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

    Go
    View on GitHub↗9,037
  • 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
  • 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
  • See all 30 alternatives to Async Raft→

    Curated searches featuring Async Raft

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