Ein fehlertolerantes Design erkennt, begrenzt, maskiert oder rekonfiguriert sich um Fehler herum, sodass der Betrieb innerhalb der angegebenen Korrektheits-, Kapazitäts-, Timing- und Safety-Grenzen bleibt — teils auf einem bewusst degradierten Service-Niveau.
Die Anforderung muss definieren, welche Fehler, Kombinationen und Dauern das System tolerieren soll. Designs können Replikation, Voting, Fehlerkorrektur, unabhängige Strom- oder Kommunikationspfade, diverse Implementierungen, Zustandsabgleich und graceful Degradation nutzen, gestützt durch Monitoring und Reparatur.
Wichtigste Punkte
Korrekten Dienst definierenWesentliche Funktionen, erlaubte Degradation, Fehlerannahmen, Erkennungszeit, Wiederherstellungsverhalten und den Punkt spezifizieren, ab dem ein sicheres Abschalten dem Weiterbetrieb vorzuziehen ist.
Unabhängigkeit schaffenReplikas und unterstützende Stromversorgung, Netzwerke, Identitäten, Administration und Standorte trennen, wo das Bedrohungsmodell es erfordert; Diversität gegen gemeinsame Defekte erwägen.
Zustand schützenReplikation, Reihenfolge, Quorum, Konsistenz, Korruptionserkennung und Wiederintegration so kontrollieren, dass redundante Komponenten weder fehlerhafte Daten verbreiten noch konfliktierende Aktionen erzeugen.
Wichtige EinschränkungRedundanz allein ist keine Fehlertoleranz. Common-Mode-Ausfälle, geteilte Abhängigkeiten, Designfehler, korrelierte Angriffe, erschöpfte Kapazität und falsche Fehlererkennung können jedes Replikat besiegen, während zusätzliche Komplexität neue Fehler einführen kann.