Systèmes répartis copie 2

Course categoryM1 IDIAG

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).