Caching et CDN
Dans cette leçon, nous découvrons le cache (mémoire cache — un espace rapide où l'on conserve des réponses déjà calculées, pour ne pas refaire le travail ; comme un post-it sur ton bureau avec une réponse déjà trouvée). Nous verrons plusieurs façons de travailler : cache-aside (on lit depuis le cach
Le System Design (planifier comment construire un logiciel de grande envergure qui sert beaucoup de monde) est comme planifier une ville : routes, entrepôts, feux de circulation et équipes de maintenance — pour que la ville continue de bien fonctionner même aux heures de pointe les plus intenses.
- Caching
- Conserver des réponses toutes prêtes dans un espace rapide (cache — mémoire cache) pour répondre vite et éviter de refaire le même travail. La compétence centrale de la leçon couvre cache-aside (on lit depuis le cache, et s'il est vide, on va chercher à la source et on enregistre), write-through (on enregistre à la fois dans le cache et à la source, ensemble), TTL (combien de temps une réponse reste « fraîche »), invalidation (invalider des données anciennes), hot keys (des éléments que tout le monde demande en même temps) et le CDN (des serveurs répartis dans le monde qui gardent des copies proches de l'utilisateur).
- Trade-off
- Un choix conscient qui comporte à la fois un gain et un coût — un peu comme choisir un itinéraire : la voie rapide coûte un péage, la voie gratuite prend plus de temps. En entretien, tu expliques à l'intervieweur/euse le gain et le coût de chaque choix.
- Métrique opérationnelle
- Un chiffre qui montre si la décision fonctionne vraiment une fois le système en production, au service d'utilisateurs réels. Par exemple : latency (le temps nécessaire pour obtenir une réponse), error rate (la part des requêtes qui échouent), queue lag (combien de tâches attendent dans la file) et cache hit ratio (combien de fois on a trouvé une réponse déjà prête). Comme les cadrans du tableau de bord d'une voiture — ils montrent si tout va bien.