πPrêtTech← Toutes les fiches
System design · ARCHITECTURE

System design : la trame en 6 étapes

En system design, on n'attend pas la bonne réponse mais une démarche : clarifier, dimensionner, proposer, arbitrer.

À retenir
  • 1. Clarifier les besoins et les contraintes.
  • 2. Estimer le volume (utilisateurs, requêtes/s, stockage).
  • 3. Dessiner le schéma de base : client, API, base, cache.
  • 4. Identifier le goulot d'étranglement.
  • 5. Proposer une évolution (cache, réplicas, file).
  • 6. Assumer les compromis à voix haute.

Cache

Le cache réduit la latence et la charge mais introduit l'invalidation. Explique ta stratégie : durée de vie, invalidation à l'écriture, ou les deux.

Mise à l'échelle

Verticale = machine plus grosse (simple, limitée). Horizontale = plus de machines (nécessite des services sans état et un répartiteur de charge).

Files de messages

Une file découple producteur et consommateur : elle absorbe les pics et permet les traitements asynchrones (emails, exports, notifications).

Pièges fréquents

  • Dessiner une architecture complexe sans besoin.
  • Oublier les pannes et la reprise.
  • Ne jamais chiffrer la charge attendue.

Questions que le recruteur peut poser

  • Comment scalerais-tu ce service à 10× le trafic ?
  • Où mettrais-tu un cache ?
  • Que se passe-t-il si la base tombe ?