Raft

Raft is a consensus algorithm developed by Diego Ongaro and John Ousterhout at Stanford and presented in 2014. The official Raft site at raft.github.io describes it as “a consensus algorithm that is designed to be easy to understand.” Its central design goal was understandability: the authors set out to build an algorithm equivalent to Paxos in fault-tolerance and performance but easier to learn and to implement correctly.

According to the Raft site, the algorithm “is equivalent to (multi-)Paxos in fault-tolerance and performance” but “decomposes the consensus problem into relatively independent subproblems.” Those subproblems are leader election, log replication, and safety, which lets practitioners reason about each part separately rather than confronting consensus as a single monolithic problem.

In Raft, one server acts as the leader and is responsible for managing the replicated log. The leader accepts client commands, appends them to its log, and replicates them to the follower servers; once a command is safely stored on a majority of servers it can be applied to the state machine. If the leader fails, the remaining servers elect a new one, and Raft’s safety rules ensure that a newly elected leader holds all committed entries.

Because it was built to be implementable, Raft became the basis of many production systems. The official site lists numerous open-source implementations, and Raft underpins widely used infrastructure including etcd, Consul, and TiKV.

Sources

Last verified June 8, 2026