Systèmes répartis copie 2
Ce module forme les étudiants à concevoir, comprendre et implémenter des applications distribuées (plusieurs services/nœuds qui communiquent sur un réseau), comme on en trouve dans le web, le cloud, l’IoT et les microservices.
Les étudiants apprennent à :
-
Modéliser un système distribué (latence, pannes, partitions, propriétés sécurité/vivacité).
-
Mettre en place une communication robuste entre services (HTTP/REST, timeouts, retries, idempotence).
-
Gérer la concurrence en Python (asyncio) et l’exécution de plusieurs nœuds (Docker).
-
Comprendre l’ordre des événements et la causalité (horloges logiques).
-
Mettre en œuvre des mécanismes clés : détection de pannes, réplication, gestion des conflits, compromis CAP, élection de leader et une introduction pratique au consensus (type Raft).
-
Évaluer un système (latence, débit, disponibilité) et appliquer des bases d’observabilité (logs/metrics) et de sécurité (TLS, auth de base).
