ScholarGate
Assistent

Fehlertoleranz und Replikation

Fehlertoleranz und Replikation sind Techniken, mit denen verteilte Systeme trotz des Ausfalls einiger ihrer Komponenten weiterhin korrekte Dienste bereitstellen.

Thema finden mit PaperMindDemnächstFind papers & topics
Tools & resources
Folien herunterladen
Learn & explore
VideoDemnächst

Definition

Fehlertoleranz ist die Fähigkeit eines Systems, seine Spezifikationen trotz Fehlern in einigen Komponenten weiterhin zu erfüllen; Replikation – das Vorhalten mehrerer Kopien von Berechnungen oder Daten – ist der Hauptmechanismus, um dies zu erreichen, und erfordert Protokolle, um die Kopien angemessen konsistent zu halten.

Scope

Dieser Bereich behandelt Redundanz als Grundlage der Fehlertoleranz, den State-Machine-Replikationsansatz zum Aufbau zuverlässiger Dienste, Datenreplikation und die Konsistenzmodelle, die replizierte Daten steuern, das CAP-Theorem und den Kompromiss zwischen Konsistenz und Verfügbarkeit bei Partitionen sowie Rollback-Recovery-Techniken, die auf Checkpointing und Logging basieren. Er verbindet die Theorie des Konsenses und der Ordnung mit dem Aufbau zuverlässiger Systeme.

Sub-topics

Core questions

  • Wie verwandelt Redundanz unzuverlässige Komponenten in einen zuverlässigen Dienst?
  • Welche Konsistenz müssen Replikate aufrechterhalten, und welche Kosten (Latenz und Verfügbarkeit) sind mit jeder Stufe verbunden?
  • Was ist grundsätzlich unmöglich zu garantieren, wenn das Netzwerk partitioniert werden kann?
  • Wie kann ein System nach Ausfällen in einen konsistenten Zustand zurückkehren?

Key theories

State-Machine-Replikation
Ein deterministischer Dienst wird fehlertolerant gemacht, indem identische Replikate ausgeführt werden, die dieselbe Befehlssequenz in derselben Reihenfolge verarbeiten, sodass überlebende Replikate den Ausfall anderer maskieren können.
CAP-Theorem
Wenn das Netzwerk partitioniert werden kann, kann ein replizierter Dienst nicht gleichzeitig starke Konsistenz und Verfügbarkeit garantieren; Designer müssen wählen, welches Opfer sie während einer Partition bringen, ein Kompromiss, der von Gilbert und Lynch formalisiert wurde.
Rollback-Recovery
Durch periodisches Checkpointing des Zustands und optionales Logging von Nachrichten kann ein System fehlgeschlagene Prozesse auf eine konsistente Wiederherstellungslinie zurücksetzen und vorwärts abspielen, wodurch eine Wiederherstellung ohne Neustart der gesamten Berechnung möglich ist.

Clinical relevance

Replikation und Fehlertoleranz sind die Grundlagen für die Dauerhaftigkeit von Cloud-Speichern und die hohe Verfügbarkeit von Diensten; die hier untersuchten Konsistenzmodelle und CAP-Kompromisse bestimmen direkt die Garantien, die von Datenbanken, Objektspeichern und Koordinationsdiensten, die überall in der Produktion eingesetzt werden, geboten werden.

History

Schneiders Tutorial von 1990 kodifizierte den State-Machine-Ansatz zur Replikation; Brewers CAP-Vermutung (2000), die 2002 von Gilbert und Lynch bewiesen wurde, prägte die Konsistenz-Verfügbarkeits-Debatte, die die NoSQL-Ära formte; und Übersichten wie die von Elnozahy und Kollegen konsolidierten Jahrzehnte der Rollback-Recovery-Forschung.

Debates

Starke versus eventuelle Konsistenz
Starke Konsistenz vereinfacht die Anwendungslogik, begrenzt jedoch die Verfügbarkeit und erhöht die Latenz bei Partitionen; eventuelle Konsistenz maximiert die Verfügbarkeit auf Kosten der Offenlegung temporärer Inkonsistenzen, und die richtige Wahl hängt von der Anwendungssemantik ab.

Key figures

  • Fred Schneider
  • Leslie Lamport
  • Eric Brewer
  • Seth Gilbert
  • Nancy Lynch

Related topics

Seminal works

  • schneider1990
  • gilbert2002
  • elnozahy2002

Frequently asked questions

Verbessert Replikation immer die Zuverlässigkeit?
Nur wenn die Replikate konsistent gehalten werden und unabhängig ausfallen. Schlecht koordinierte Replikate können divergieren und widersprüchliche Daten liefern, und korrelierte Ausfälle (gemeinsame Stromversorgung, Softwarefehler) untergraben die Redundanz, daher muss Replikation mit dem richtigen Konsistenzprotokoll kombiniert werden.

Methods for this concept

Related concepts