EMZETT.
Login

Konsens in verteilten Systemen (Paxos und Raft)

Kurz: Konsensprotokolle wie Paxos und Raft lassen mehrere Server sich auf einen gemeinsamen Wert oder eine Reihenfolge von Befehlen einigen, auch wenn einzelne Server ausfallen.

Genauer: Ein Cluster wählt einen Anführer (Leader), der Schreibvorgänge entgegennimmt und per Log an Follower verteilt. Ein Eintrag gilt als festgeschrieben, sobald die Mehrheit (Quorum) ihn gespeichert hat. Fällt der Leader aus, wird ein neuer gewählt.

Im Detail

  • Quorum: Mehrheit aus n Knoten, also ⌊n/2⌋+1. Ein Cluster mit 5 Knoten übersteht 2 Ausfälle.
  • Raft: Klar strukturiert: Leader-Wahl, Log-Replikation, Sicherheit. Genutzt in etcd, Consul.
  • Paxos: Älter, schwerer zu verstehen; Varianten in Chubby und Spanner.
  • Epochen/Terms: Nummerieren Leader-Amtszeiten, damit alte Leader nichts mehr überschreiben.
  • Grenzen: Mehr Knoten heißt mehr Kommunikation und höhere Latenz. Bei Netzwerkpartition bleibt nur die Mehrheit funktionsfähig (siehe CAP).
  • Einsatz: Konfigurationsspeicher, Leader-Wahl, verteilte Sperren.

Siehe auch: CAP-Theorem, Replikation: Leader und Follower