Une conception tolérante aux pannes détecte, contient, masque ou se reconfigure autour des fautes de sorte que le fonctionnement reste dans les limites déclarées d'exactitude, de capacité, de timing et de sûreté, parfois à un niveau de service délibérément dégradé.
L'exigence doit définir quelles fautes, quelles combinaisons et quelles durées le système doit tolérer. Les conceptions peuvent utiliser la réplication, le vote, la correction d'erreurs, des chemins d'alimentation ou de communication indépendants, des implémentations diverses, la réconciliation d'état et la dégradation maîtrisée, appuyées par la supervision et la réparation.
Points clés
Définir le service correctSpécifier les fonctions essentielles, la dégradation permise, les hypothèses de faute, le temps de détection, le comportement de reprise et le point où un arrêt sûr est préférable à la poursuite du fonctionnement.
Créer l'indépendanceSéparer les répliques ainsi que l'alimentation, les réseaux, les identités, l'administration et les sites de soutien lorsque le modèle de menace l'exige ; envisager la diversité contre les défauts communs.
Protéger l'étatContrôler la réplication, l'ordonnancement, le quorum, la cohérence, la détection de corruption et la réintégration afin que les composants redondants ne propagent pas de mauvaises données ni ne créent d'actions conflictuelles.
Limite importanteLa redondance seule n'est pas la tolérance aux pannes. Les défaillances de mode commun, les dépendances partagées, les défauts de conception, les attaques corrélées, la capacité épuisée et la détection de défaillance incorrecte peuvent vaincre chaque réplique, tandis que la complexité ajoutée peut introduire de nouvelles fautes.