Zurück zur Übersicht

Begriff

Raft

Distributed Systems Algorithm S3
2 Quellen 0 Lernpfade 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Paxos ist genial, aber niemand versteht es. Diego Ongaro wollte 2014 einen Algorithmus, der Paxos-Qualität hat, aber verständlich ist. Er erfand Raft. Raft zerlegt Konsensus in 3 klare Teilprobleme:

  1. Leader Election: Wähle einen Chef. (Heartbeats fehlen? -> Neuwahl!).
  2. Log Replication: Der Chef sagt den anderen, was sie schreiben sollen (Append Entries).
  3. Safety: Lücken im Log füllen. Raft ist heute der Standard in der Open-Source-Welt (Kubernetes nutzt etcd, und etcd nutzt Raft).

Merksatz: Ein Konsensus-Algorithmus, der als verständliche Alternative zu Paxos entwickelt wurde; er basiert auf einem starken Führer (Leader), der die Replikation des Logs steuert (Leader Election & Log Replication).


Quick-Check

  1. Name?
    "Raft" wie das Floß. (Etwas Solides, auf dem man sich retten kann). Und ein Wortspiel mit "Logs" (Baumstämme).
  2. Split Vote?
    Wenn 2 Kandidaten gleichzeitig Wahlkampf machen, teilen sich die Stimmen 50/50. Keiner kriegt die Mehrheit. Raft löst das durch "Randomized Election Timeouts". Einer wacht früher auf und gewinnt.
  3. Warum nicht immer Raft?
    Bei extremen Geo-Distributionen (Weltweit) ist ein "Single Leader" (in USA) zu langsam für Writes aus Asien. Da sind Multi-Leader-Protokolle (Epaxos) besser.