Concevoir un service de bout en bout

Trois conceptions pas à pas, comme en entretien d'architecture : un raccourcisseur d'adresses, un fil d'actualité, une messagerie. Pour chacune : les besoins, les ordres de grandeur calculés, l'API, le stockage, la montée en charge et les pannes, avec le raisonnement au dos.

  • 34 cartes
  • 3 thèmes
  • Gratuit

Le programme, thème par thème

Le poids de chaque thème suit celui que lui donne l'examen.

  1. Un raccourcisseur d'adresses
  2. Un fil d'actualité
  3. Une messagerie instantanée

Quelques cartes du deck

  • Besoins · Quelles sont les deux opérations essentielles d'un raccourcisseur d'adresses ?

    Voir la réponse

    Créer un lien court pour une longue adresse, et rediriger un lien court vers sa longue adresse

    On redirige bien plus souvent qu'on ne crée : on compte souvent 100 lectures pour une écriture, ce qui guide toute la conception.

  • Ordres de grandeur · 100 millions de liens créés par mois : combien de créations par seconde en moyenne ?

    • Environ 4
    • Environ 400
    • Environ 4 000
    • Environ 40
    Voir la réponse

    Environ 40

    100 000 000 ÷ (30 × 86 400 s) ≈ 39 par seconde.

  • Panne · Comment empêcher qu'on utilise le service pour diffuser des liens malveillants ?

    Voir la réponse

    Vérifier les adresses contre des listes de sites malveillants et limiter le débit de création par compte

    La vérification bloque les liens connus ; la limitation empêche de créer des milliers de liens d'un coup.

  • Ordres de grandeur · Avec 100 lectures pour une écriture et environ 40 créations par seconde, combien de redirections par seconde ?

    • Environ 40
    • Environ 400
    • Environ 4 000
    • Environ 400 000
    Voir la réponse

    Environ 4 000

    40 × 100 = 4 000 redirections par seconde en moyenne, et plus aux heures de pointe.

  • Besoins · Que doit faire un fil d'actualité, au minimum ?

    Voir la réponse

    Publier un message, et afficher à chacun les messages récents des comptes qu'il suit

    Tout le défi est de construire vite, pour des millions de personnes, un fil propre à chacune.

  • Ordres de grandeur · On garde les liens 5 ans, à environ 500 octets chacun. Quel volume de stockage ?

    • Environ 3 Go
    • Environ 300 Go
    • Environ 3 To
    • Environ 300 To
    Voir la réponse

    Environ 3 To

    100 millions × 12 × 5 = 6 milliards de liens ; × 500 octets = 3 × 10¹² octets, soit 3 To.