Partie II. Systèmes distribués
Un système distribué est un système dans lequel la défaillance d'un ordinateur dont tu ne connaissais même pas l'existence peut rendre ton propre ordinateur inutilisable.
Leslie Lamport
Sans les systèmes distribués, nous ne pourrions pas passer d'appels téléphoniques, transférer de l'argent ou échanger des informations sur de longues distances. Nous utilisons des systèmes distribués tous les jours. Parfois, même sans le reconnaître : toute application client/serveur est un système distribué.
Pour de nombreux systèmes logiciels modernes, la mise à l'échelle verticale (mise à l'échelle en exécutant le même logiciel sur une machine plus grande et plus rapide avec plus d'unité centrale, de mémoire vive ou de disques plus rapides) n'est pas viable. Les machines plus grandes sont plus chères, plus difficiles à remplacer et peuvent nécessiter un entretien particulier. Une alternative consiste à procéder à une mise à l'échelle horizontale: exécuter un logiciel sur plusieurs machines connectées par le réseau et fonctionnant comme une seule entité logique.
Les systèmes distribués peuvent différer à la fois par leur taille, d'une poignée à des centaines de machines, et par les caractéristiques de leurs participants, de petits appareils portables ou capteurs à des ordinateurs très performants.
Le temps où les systèmes de base de données fonctionnaient principalement sur un seul nœud est révolu depuis longtemps, et la plupart des systèmes de base de données ...