Ressources · 77

Quotas API : limiter la charge et reprendre sans tempête de requêtes

Définir budgets, identités et reprises pour préserver le service lorsqu’un client atteint une limite.

· 3 min

Baies de serveurs dans un centre de données Illustration · scène fictive

Ce que ce guide permet

  • Définir ce qui est limité
  • Choisir le comportement de dépassement
  • Encadrer les reprises
  • Exercer saturation et rétablissement

Contrôle express

  • Un code 429 suffit-il à protéger le service ?
  • Retry-After est-il toujours un nombre ?
  • Peut-on réessayer toute requête automatiquement ?

Méthode pas à pas

  1. 01

    Définir ce qui est limité

    Distinguez nombre de requêtes, volume transféré, coût de calcul et opérations concurrentes. Choisissez une identité de comptage et un périmètre : client, compte, route ou service. Une IP partagée peut regrouper des personnes indépendantes ; une clé API par utilisateur ne suffit pas à limiter le coût global.

    Livrable : unité, fenêtre et périmètre de chaque limite.

  2. 02

    Choisir le comportement de dépassement

    Précisez si une requête est refusée, mise en file ou servie en mode réduit. HTTP 429 exprime un excès de requêtes ; Retry-After peut indiquer une attente. Son absence ne donne pas au client le droit de réessayer en boucle. Les compteurs doivent rester cohérents avec le nombre d’instances et les routes coûteuses.

    Livrable : réponses et règle de comptage.

  3. 03

    Encadrer les reprises

    Bornez nombre de tentatives et durée totale. Répartissez les reprises avec un délai progressif et une variation aléatoire. Respectez le délai reçu, avec gestion des horloges pour une date HTTP. Pour une opération à effet externe, vérifiez d’abord si elle a déjà abouti et utilisez une protection contre les doublons.

    Livrable : politique client de reprise.

  4. 04

    Exercer saturation et rétablissement

    Dans un environnement autorisé, testez rafales, charge soutenue, clients partageant une IP, plusieurs instances et panne du compteur. Vérifiez que les tâches importantes restent disponibles et qu’un rétablissement ne relance pas tous les clients ensemble. Mesurez les refus justifiés et les utilisateurs bloqués à tort.

    Livrable : essais reproductibles et décision de réglage.

Fiche de travail à réutiliser

À compléter avec vos observations autorisées. Ces champs constituent une trame de travail, pas des résultats observés.

ChampInformation à consigner
LimiteUnité, fenêtre, identité et route
DépassementRéponse, délai et message utilisateur
RepriseBudget d’essais, doublons et arrêt
PreuveCharge testée, refus et retour à la normale

Exemple d’application

Situation illustrative

Exemple fictif : une synchronisation de catalogue reçoit 429 et tous les clients réessaient immédiatement.

Décision et preuve attendue

Le client respecte l’attente, répartit ses reprises, conserve un curseur et confirme les opérations déjà appliquées.

Distinguer les mécanismes

MécanismeUtilitéPoint de vigilance
Limite de débitEncadrer les arrivées sur une fenêtrePeut laisser passer des opérations lentes
ConcurrenceLimiter les traitements simultanésNe borne pas seule l’usage mensuel
Quota de consommationEncadrer un budget cumuléDéfinir renouvellement et unité facturée

Indicateurs de pilotage

IndicateurCe qu’il mesurePremière action
RefusRequêtes refusées par route et identitéSéparer abus et clients légitimes
Reprises utilesTentatives conduisant à un résultat uniqueRéduire boucles et doublons

Erreurs fréquentes

  • Peut laisser passer des opérations lentes
  • Ne borne pas seule l’usage mensuel
  • Définir renouvellement et unité facturée

Questions fréquentes

Un code 429 suffit-il à protéger le service ?

Non. Il décrit un refus. Il faut aussi contrôler coût, concurrence, files et comportement des clients.

Retry-After est-il toujours un nombre ?

Non. HTTP autorise une durée en secondes ou une date HTTP. Le client doit reconnaître les deux formes.

Peut-on réessayer toute requête automatiquement ?

Non. Pour un effet non idempotent, une réponse perdue peut masquer une opération réussie. La reprise doit vérifier l’état métier.

Références officielles

Date de consultation des références : . La méthode et la fiche de travail proposent des contrôles à adapter à votre contexte ; elles ne constituent pas une certification.