عجفت الغور

raft

Tags: distributed systems

  • Cloudflare outages: https://twitter.com/heidiann360/status/1332733504057188352
  • Vs paxos, raft is always safe, but can halt progress if the majority is unavailable
  • Implements consensus by first electing a leader and then managing all the replication from the leader to other servers, leader is responsible for accepting log entries from clients, replicating them to other servers, and instructing them when it is safe to apply them to their state machines.
  • Ensures unidirectional flow of instructions

FLP Impossibility Avoidance

  • Tweaks the meaning of consensus and termination by using a majority rather than immediate agreement, although guarentees that minorities cannot revert the majority decisions
  • Detects those cases where consensus is impossible and forward progress is halted

Paxos comparisons

  • Paxos is difficult to understand
  • Regular paxos takes a symmetric p2p approach, which is fine for a world where only one decision needs to be made, but few practical systems do that
  • Paxos implementations are far and wide with no reference implementation

Raft Innovations

  • Problem decomposition - raft decomposes the consensus problem into separate subproblems with leader election and log replication being different
  • Understandable differences: leader election, log replication, and safety
  • Automatic cluster management: Novel mechanism for altering cluster membership
  • Distinct structure: similar to multi paxos
  • Coherence: progress requires a great degree of cohereance