Raft (algorithm)

Raft
The Raft consensus algorithm mascot.
ClassConsensus algorithm

Raft is a consensus algorithm designed as an alternative to the Paxos family of algorithms. It was meant to be more understandable than Paxos by means of separation of logic, but it is also formally proven safe and offers some additional features.[1] Raft offers a generic way to distribute a state machine across a cluster of computing systems, ensuring that each node in the cluster agrees upon the same series of state transitions. It has a number of open-source reference implementations, with full-specification implementations in Go, C++, Java, and Scala.[2] It is named after Reliable, Replicated, Redundant, And Fault-Tolerant.[3]

Raft is not a Byzantine fault tolerant (BFT) algorithm; the nodes trust the elected leader.[1]

  1. ^ a b Cite error: The named reference paper was invoked but never defined (see the help page).
  2. ^ Cite error: The named reference website was invoked but never defined (see the help page).
  3. ^ Why the "Raft" name?