Content deleted Content added
Undid revision 856791755 by Exoplanet88 (talk) promotional example cruft, no "independent" sources given |
Insert why it is named as Raft |
||
Line 1:
'''Raft''' is a [[Consensus (computer science)|consensus]] algorithm designed as an alternative to [[Paxos (computer science)|Paxos]]. 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.<ref name="paper"/> Raft offers a generic way to distribute a [[Finite-state machine|state machine]] across a [[Computer cluster|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 (programming language)|Go]], [[C++]], [[Java (programming language)|Java]], and [[Scala (programming language)|Scala]].<ref name="website" />
It is named after Reliable,Replicated,Redundant, And Fault-Tolerant.
== Basics ==
Raft achieves consensus via an elected leader. A server in a raft cluster is either a ''leader'' or a ''follower'', and can be a ''candidate'' in the precise case of an election (leader unavailable). The leader is responsible for log replication to the followers. It regularly informs the followers of its existence by sending a heartbeat message. Each follower has a timeout (typically between 150 and 300 ms) in which it expects the heartbeat from the leader. The timeout is reset on receiving the heartbeat. If no heartbeat is received the follower changes its status to candidate and starts a leader election.<ref name="paper"/><ref name="secretlives"/>
Line 75:
}}</ref>
}}
https://groups.google.com/forum/#!topic/raft-dev/95rZqptGpmU
==External links==
*{{Official website}}
|