Raft Consensus
Distributed Consensus Algorithm
Distributed consensus algorithm implementation in Go. Raft keeps a cluster of machines in agreement on a sequence of operations. It makes a replicated log behave like a single reliable log, even when some nodes crash or restart.
View CodeLanguage
Go
Type
Consensus
Testing
Full Suite
Screenshots


Key Features
Leader Election
Nodes start as followers. On timeouts they become candidates, vote, and elect a leader that coordinates the cluster.
Log Replication
The leader appends client commands to its log and replicates them to followers via AppendEntries RPCs until a majority acknowledges.
Safety & Commitment
Entries are committed only when stored on a majority and applied in order to the state machine, guaranteeing linearizable results.