Leçon 01 · Fundamentals

Qu'est-ce qu'un système distribué ?

Bienvenue dans le monde réel. Ici, une seule machine ne suffit plus. Découvrons pourquoi on complique les choses en distribuant nos systèmes, et les pièges classiques (latence, pannes) qui nous attendent.

1

Le Concept

Définition officielle

"Un système distribué est un ensemble d'ordinateurs indépendants qui apparaît à ses utilisateurs comme un système unique et cohérent."

— Tanenbaum & Van Steen

Centralisé (Monolithe)

Une seule cuisine géante. Tous les livreurs partent de là.

  • ❌ Si la cuisine brûle, 0 repas livrés.
  • ❌ Loin des clients en périphérie.

Distribué

Plein de petites cuisines réparties dans la ville.

  • ✅ Si une cuisine ferme, les autres prennent le relais.
  • ✅ Plus proche des clients (rapide).
2

Visualisation

Diagramme des systèmes centralisés vs distribués
Comparaison des flux de données : Centralisé (gauche) vs Distribué (droite)
3

Flash Quiz

Auto-évaluation
4

À toi de jouer

Mission : Scaler l'API

Ton API monolithique sature. Utilise le tableau blanc ci-dessous pour dessiner l'ajout d'un Load Balancer et de 2 instances.

Astuce : N'oublie pas la base de données ! Est-ce qu'elle reste unique pour l'instant ? (C'est un point unique de panne, mais c'est ok pour commencer).

Pour les curieux (Bonus)

  • Comprendre les 'Fallacies of Distributed Computing'
  • Lire sur le CAP Theorem (on y reviendra)
  • Regarder comment Netflix utilise le 'Chaos Monkey'
  • La différence entre Strong et Eventual Consistency