Portfolio/Raft Consensus

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 Code

Language

Go

Type

Consensus

Testing

Full Suite

Screenshots

Raft Consensus screenshot 1
Raft Consensus screenshot 2

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.