help:raft_consensus_algorithm

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
help:raft_consensus_algorithm [2020/04/15 10:38] – removed peterhelp:raft_consensus_algorithm [2020/07/27 13:32] (current) – old revision restored (2016/10/17 12:29) 192.99.4.151
Line 1: Line 1:
 +====== Raft Consensus Algorithm ======
 +
 +===== What is Raft? =====
 +
 +Raft is a consensus algorithm that is designed to be easy to understand.  It's equivalent to Paxos in fault-tolerance and performance.  The difference is that it's decomposed into relatively independent subproblems, and it cleanly addresses all major pieces needed for practical systems.  
 +
 +
 +===== What is consensus? =====
 +
 +Consensus is a fundamental problem in fault-tolerant distributed systems.  Consensus involves multiple servers agreeing on values.  Once they reach a decision on a value, that decision is final.  Typical consensus algorithms make progress when any majority of their servers are available; for example, a cluster of 5 servers can continue to operate even if 2 servers fail.  If more servers fail, they stop making progress (but will never return an incorrect result).
 +
 +Consensus typically arises in the context of replicated state machines, a general approach to building fault-tolerant systems.  Each server has a state machine and a log.  The state machine is the component that we want to make fault-tolerant, such as a hash table.  It will appear to clients that they are interacting with a single, reliable state machine, even if a minority of the servers in the cluster fail.  Each state machine takes as input commands from its log. In our hash table example, the log would include commands like set x to 3.  A consensus algorithm is used to agree on the commands in the servers' logs. The consensus algorithm must ensure that if any state machine applies set x to 3 as the nth command, no other state machine will ever apply a different nth command.  As a result, each state machine processes the same series of commands and thus produces the same series of results and arrives at the same series of states.
 +
 +
 +===== References =====
 +
 +  * https://raft.github.io/
 +
 +
 +
  
help/raft_consensus_algorithm.1586947100.txt.gz · Last modified: 2020/07/15 09:30 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki