Tolérance aux pannes et réplication
La tolérance aux pannes et la réplication sont les techniques par lesquelles les systèmes distribués continuent de fournir un service correct malgré la défaillance de certains de leurs composants.
Definition
La tolérance aux pannes est la capacité d'un système à continuer de satisfaire ses spécifications malgré des défaillances dans certains de ses composants ; la réplication — le maintien de multiples copies de calculs ou de données — en est le mécanisme principal, nécessitant des protocoles pour maintenir les copies suffisamment cohérentes.
Scope
Ce domaine couvre la redondance comme base de la tolérance aux pannes, l'approche de la réplication par machine à états pour construire des services fiables, la réplication des données et les modèles de cohérence qui régissent les données répliquées, le théorème CAP et le compromis cohérence-disponibilité en cas de partitions, ainsi que les techniques de récupération par retour arrière (rollback-recovery) basées sur la journalisation et les points de contrôle (checkpointing). Il relie la théorie du consensus et de l'ordonnancement à la construction de systèmes fiables.
Sub-topics
Core questions
- Comment la redondance transforme-t-elle des composants peu fiables en un service fiable ?
- Quelle cohérence les répliques doivent-elles maintenir, et quel est le coût de chaque niveau en termes de latence et de disponibilité ?
- Qu'est-il fondamentalement impossible de garantir lorsque le réseau peut se partitionner ?
- Comment un système peut-il récupérer un état cohérent après des défaillances ?
Key theories
- Réplication par machine à états
- Un service déterministe est rendu tolérant aux pannes en exécutant des répliques identiques qui traitent la même séquence de commandes dans le même ordre, de sorte que les répliques survivantes peuvent masquer la défaillance des autres.
- Théorème CAP
- Lorsque le réseau peut se partitionner, un service répliqué ne peut pas garantir simultanément une forte cohérence et une haute disponibilité ; les concepteurs doivent choisir lequel sacrifier lors d'une partition, un compromis formalisé par Gilbert et Lynch.
- Récupération par retour arrière
- En sauvegardant périodiquement l'état (checkpointing) et en journalisant optionnellement les messages, un système peut ramener les processus défaillants à une ligne de récupération cohérente et rejouer les opérations, se rétablissant sans redémarrer l'ensemble du calcul.
Clinical relevance
La réplication et la tolérance aux pannes sont ce qui rend le stockage en nuage (cloud storage) durable et les services hautement disponibles ; les modèles de cohérence et les compromis CAP étudiés ici déterminent directement les garanties offertes par les bases de données, les magasins d'objets (object stores) et les services de coordination utilisés partout en production.
History
Le tutoriel de Schneider de 1990 a codifié l'approche de la réplication par machine à états ; la conjecture CAP de Brewer (2000), prouvée par Gilbert et Lynch en 2002, a encadré le débat cohérence-disponibilité qui a façonné l'ère NoSQL ; et des études telles que celles d'Elnozahy et de ses collègues ont consolidé des décennies de recherche sur la récupération par retour arrière.
Debates
- Cohérence forte versus cohérence éventuelle
- La cohérence forte simplifie le raisonnement de l'application mais limite la disponibilité et augmente la latence en cas de partitions ; la cohérence éventuelle maximise la disponibilité au prix de l'exposition à des désaccords temporaires, et le bon choix dépend de la sémantique de l'application.
Key figures
- Fred Schneider
- Leslie Lamport
- Eric Brewer
- Seth Gilbert
- Nancy Lynch
Related topics
Seminal works
- schneider1990
- gilbert2002
- elnozahy2002
Frequently asked questions
- La réplication améliore-t-elle toujours la fiabilité ?
- Seulement si les répliques sont maintenues cohérentes et échouent indépendamment. Des répliques mal coordonnées peuvent diverger et fournir des données contradictoires, et les défaillances corrélées (alimentation partagée, bogues logiciels) annulent la redondance ; la réplication doit donc être associée au protocole de cohérence approprié.