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, and it is also formally proven safe and offers some additional features. 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, JavaScript and Scala. The name comes from Reliable, Replicated, Redundant, And Fault-Tolerant. In its base form Raft is not Byzantine fault tolerant: the nodes trust the elected leader and the algorithm assumes all participants are trustworthy, yielding only crash fault tolerance, although variants exist that use cryptographic signatures to achieve Byzantine fault tolerance.
Connections
Credited To
Source USENIX: In Search of an Understandable Consensus Algorithm (USENIX ATC 2014)
In Field
Source Raft (algorithm) (Wikipedia)
Invented By
Source USENIX: In Search of an Understandable Consensus Algorithm (USENIX ATC 2014)
Sources
Raft (algorithm) (Wikipedia)
In Group: Concurrency and Distributed Systems Techniques, Lead, first sentence
Raft is a consensus algorithm designed as an alternative to the Paxos family of algorithms.
In Field: Distributed Computing, Lead, third sentence
Raft offers a generic way to distribute a state machine across a cluster of computing systems
View the SourceUSENIX: In Search of an Understandable Consensus Algorithm (USENIX ATC 2014)
USENIXCredited To: John Ousterhout, Presentation page, authors line
Diego Ongaro and John Ousterhout, Stanford University
Invented By: John Ousterhout, Presentation page, authors line
Diego Ongaro and John Ousterhout, Stanford University
View the Source Reader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.
Sign in to dispute this or suggest a correction.