À retenir
- Assure la cohérence des données sur plusieurs machines.
- Permet au système de continuer à fonctionner même si certains composants tombent en panne.
- Nécessite des algorithmes spécifiques (Paxos, Raft, Proof of Work).
Dans un réseau informatique, le consensus est le mécanisme qui permet à plusieurs ordinateurs de se mettre d'accord sur une information unique, comme l'heure exacte ou la validité d'une transaction. C'est un peu comme une réunion de délégués qui doivent tous valider le même compte-rendu pour éviter que chacun ne reparte avec une version différente des faits.
Étymologie
Issu du latin consensus signifiant « accord » ou « consentement ». En informatique, le terme s'est imposé avec l'essor des systèmes distribués dans les années 1970 et 1980, lorsqu'il a fallu coordonner des machines physiquement séparées pour qu'elles se comportent comme un seul système cohérent.
Exemples d'usage
- La validation d'un bloc de transactions dans une blockchain (Bitcoin, Ethereum).
- L'élection d'un serveur « maître » dans une base de données pour coordonner les écritures.
- La synchronisation de l'état des stocks entre plusieurs serveurs d'un site de e-commerce durant les soldes.
Cas d'usage
Le consensus intervient principalement dans les systèmes distribués et le cloud computing. Il est indispensable pour garantir qu'aucune donnée ne soit perdue ou contredite si l'un des ordinateurs tombe en panne ou si la connexion réseau est instable.
Bonnes pratiques
Il est crucial de choisir un algorithme de consensus adapté à ses besoins : certains privilégient la rapidité au détriment de la sécurité (pour des jeux en ligne), tandis que d'autres privilégient la sécurité absolue (pour des systèmes financiers). Il faut aussi prévoir la gestion des nœuds byzantins, ces composants qui peuvent envoyer des informations volontairement erronées.
Synonymes
Antonymes
Conseil
Si vous débutez, intéressez-vous aux algorithmes Raft ou Paxos. Ce sont les piliers qui permettent à des services comme Google ou Amazon de rester en ligne 24h/24 sans jamais perdre vos informations.
Questions fréquentes
Le consensus exige-t-il l'unanimité ?
Non, la plupart des systèmes exigent seulement une majorité (souvent plus de 50 % ou deux tiers) pour valider une décision.
Quel est le risque en cas d'échec du consensus ?
Le risque est la 'partition', où deux parties du réseau croient des choses différentes, entraînant des erreurs de données majeures.