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

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectServer MCPDespreCum realizăm clasamentulPresă
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
willemt avatar

willemt/raft

0
View on GitHub↗
1,168 stele·275 fork-uri·C·7 vizualizări

Raft

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 entries and notifications.

For data management and system integration, the engine captures point-in-time state snapshots and trims older log entries to recover disk space. It relies on application integration hooks to bridge the consensus engine with external messaging, log application, and persistent storage infrastructure, while timing mechanisms advance election and heartbeat intervals through host application event loops.

Features

  • Consensus-Based State Replication - Coordinates node elections, heartbeat monitoring, and log replication across a cluster to maintain consistent state across servers.
  • Raft Consensus Implementations - Implements the Raft distributed consensus protocol in C for building fault-tolerant replicated state machines and clustered systems.
  • Consensus Engines - Coordinates leader election, log replication, and cluster membership changes across peer nodes as a state machine replication engine.
  • Protocol Message Deserializers - Deserializes incoming network messages for voting and log replication, processes state transitions, and generates corresponding response payloads.
  • Dynamic Cluster Membership Management - Dynamically adds or removes cluster nodes through specialized log entries and membership notification callbacks to safely scale the system.
  • Snapshot-Based Compactions - Captures point-in-time snapshots of the state machine and trims older log entries to recover memory and disk space.
  • Raft Implementations - Builds fault-tolerant distributed systems and replicated state machines using the Raft consensus algorithm for reliable data synchronization.
  • Client Write Processors - Appends incoming write operations to the replicated log, redirects non-leader clients, and manages client acknowledgments.
  • Replicated Log Management - Manages append-entries RPCs and maintains persistent disk journals to ensure ordered synchronization across cluster peers.
  • Quorum-Based Elections - Drives leader election timeouts and validates majority acknowledgments before committing state transitions or cluster changes.
  • Replicated State Machines - Processes replicated log commands sequentially to transition state deterministically across all nodes in the distributed cluster.
  • C Libraries - Provides a portable programming library offering core coordination primitives for fault-tolerant distributed applications.
  • Consensus Ticker Utilities - Drives timed background checks and timeout handling by invoking periodic tick functions at regular intervals through external timers.
  • Event Loop Injections - Advances election and heartbeat timeouts by injecting regular interval ticks from the host application event loop.
  • Consensus Hook Interfaces - Implements required hooks for messaging, log application, and persistent storage to bridge the consensus engine with application infrastructure.
  • Server Instantiation Routines - Instantiates new consensus server instances and configures cluster topology by registering peer nodes with unique identifiers and user data pointers.
  • Consensus Integration Bridges - Bridges the core consensus state machine with external networking and storage systems through a strict function hook interface.
  • Timeout Progress Tickers - Triggers periodic timers at regular intervals to advance timeouts and move background consensus state transitions forward.

Istoric stele

Graficul istoricului de stele pentru willemt/raftGraficul istoricului de stele pentru willemt/raft

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Colecții curatoriate care includ Raft

Colecții selectate manual în care apare Raft.
  • Distributed consensus algorithm

Întrebări frecvente

Ce face willemt/raft?

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.

Care sunt principalele funcționalități ale willemt/raft?

Principalele funcționalități ale willemt/raft sunt: Consensus-Based State Replication, Raft Consensus Implementations, Consensus Engines, Protocol Message Deserializers, Dynamic Cluster Membership Management, Snapshot-Based Compactions, Raft Implementations, Client Write Processors.

Care sunt câteva alternative open-source pentru willemt/raft?

Alternativele open-source pentru willemt/raft includ: sofastack/sofa-jraft — sofa-jraft is a Java implementation of the Raft consensus algorithm. It serves as a distributed consensus engine and… goraft/raft — Raft is a Go library implementing the Raft consensus protocol for coordinating reliable state machine replication… hashicorp/raft — This is a Raft consensus library and distributed consensus engine implemented in Go. It provides the primitives… maemual/raft-zh_cn — This project is a Chinese language translation of the original research paper detailing the Raft consensus protocol.… async-raft/async-raft — Async-raft is an asynchronous consensus framework built on Rust for coordinating replicated state machines across… wenweihu86/raft-java — Raft-java is a lightweight Java consensus library and replicated state machine engine designed to synchronize…

Alternative open-source pentru Raft

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Raft.
  • sofastack/sofa-jraftAvatar sofastack

    sofastack/sofa-jraft

    3,806Vezi pe 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
    Vezi pe GitHub↗3,806
  • goraft/raftAvatar goraft

    goraft/raft

    2,435Vezi pe 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
    Vezi pe GitHub↗2,435
  • hashicorp/raftAvatar hashicorp

    hashicorp/raft

    9,037Vezi pe 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
    Vezi pe GitHub↗9,037
  • maemual/raft-zh_cnAvatar maemual

    maemual/raft-zh_cn

    6,287Vezi pe 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
    Vezi pe GitHub↗6,287
  • Vezi toate cele 30 alternative pentru Raft→