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

wenweihu86/raft-java

0
View on GitHub↗
1,228 stars·412 forks·Java·Apache-2.0·12 views

Raft Java

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 appended directly into the replicated log stream. State synchronisation is handled by streaming transaction logs from active coordinators to follower nodes, alongside persistent disk storage and pluggable state machine interfaces that execute committed log entries against custom application logic.

To manage storage growth and accelerate node recovery, the engine captures point-in-time application data snapshots to disk, enabling older transaction log entries to be safely truncated and discarded.

Features

  • Replicated State Machines - Builds reliable Java applications that synchronize data changes across a cluster by applying committed transaction logs.
  • Distributed Consensus Protocols - Provides a lightweight consensus engine that synchronizes transaction logs across multiple server nodes for fault tolerance.
  • Dynamic Cluster Membership Management - Supports dynamic cluster membership changes, allowing nodes to be added or removed during runtime without downtime.
  • Single-Leader Replication - Routes all write operations through a single designated coordinator node that serialises and streams updates out to follower nodes.
  • Joint Consensus Protocols - Reconfigures active cluster nodes on the fly by appending joint consensus configuration entries directly into the replicated log stream.
  • Consensus Log Replication - Ensures cluster-wide state consistency by synchronizing transaction logs from the active leader node to all followers.
  • Leader Election - Features automatic leader election mechanisms to negotiate and elect an active leader node to coordinate distributed consensus.
  • Consensus and Coordination Systems - Manages leader election and log replication across multiple nodes to maintain consistent state in a distributed system.
  • Consensus Protocols - Coordinates distributed nodes by exchanging standard request and response messages over network connections to maintain cluster agreement.
  • Raft Consensus Implementations - Implements distributed consensus and replicated state machines with leader election and log replication in Java.
  • Pluggable Interfaces - Executes committed log entries against custom application logic through standard interfaces to maintain synchronised business data across nodes.
  • Point-In-Time Snapshots - Compresses historical application data into storage checkpoints to truncate old log files and speed up node recovery times.
  • Local Consensus Snapshots - Captures point-in-time application data snapshots to disk, enabling older transaction log entries to be safely discarded.
  • Checkpoints and Recovery - Compresses old log entries into local snapshots and loads them during startup to reduce storage space and speed recovery.
  • Persistent Log Buffers - Saves transaction entries directly to disk storage so the system can recover state and catch up lagging nodes after a restart.
  • State Machine Integrations - Enables custom state machine integration by executing replicated commands and applying committed log entries directly to application data.

Star history

Star history chart for wenweihu86/raft-javaStar history chart for wenweihu86/raft-java

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

Open-source alternatives to Raft Java

Similar open-source projects, ranked by how many features they share with Raft Java.
  • 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
  • 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
  • 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
  • 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
See all 30 alternatives to Raft Java→

Frequently asked questions

What does wenweihu86/raft-java do?

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.

What are the main features of wenweihu86/raft-java?

The main features of wenweihu86/raft-java are: Replicated State Machines, Distributed Consensus Protocols, Dynamic Cluster Membership Management, Single-Leader Replication, Joint Consensus Protocols, Consensus Log Replication, Leader Election, Consensus and Coordination Systems.

What are some open-source alternatives to wenweihu86/raft-java?

Open-source alternatives to wenweihu86/raft-java include: hashicorp/raft — This is a Raft consensus library and distributed consensus engine implemented in Go. It provides the primitives… sofastack/sofa-jraft — sofa-jraft is a Java implementation of the Raft consensus algorithm. It serves as a distributed consensus engine and… 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… maemual/raft-zh_cn — This project is a Chinese language translation of the original research paper detailing the Raft consensus protocol.… canonical/dqlite — dqlite is a distributed SQL database that embeds a relational database engine to provide replicated storage across a…

Curated searches featuring Raft Java

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