Définition simple
Le rate limiting limite le nombre de requêtes ou d’actions acceptées pour un client, une identité ou une ressource pendant une période donnée.
Définition technique
Une API ou une passerelle maintient un compteur selon une clé telle qu’une adresse IP, un utilisateur, une clé API ou un endpoint. Différents algorithmes existent, par exemple fixed window, sliding window, leaky bucket ou token bucket.
Fonctionnement / rôle
À chaque requête, le mécanisme vérifie le quota disponible. Tant que le seuil n’est pas atteint, la requête est traitée ; lorsqu’il est dépassé, elle peut être retardée ou refusée, souvent avec un statut HTTP 429 et des informations permettant au client de réessayer plus tard.
À quoi cela sert ?
Protéger une API contre les abus, lisser la charge, faire respecter des quotas et éviter qu’un seul client monopolise les ressources.
Exemple concret
Une API autorise 100 requêtes par minute et par clé. La 101e reçoit HTTP 429 jusqu’à ce que le quota soit de nouveau disponible.
Problèmes fréquents
- Seuil trop bas bloquant des usages légitimes
- Clé de limitation mal choisie derrière un proxy ou NAT
- Absence de backoff côté client après HTTP 429
- Compteurs non partagés entre plusieurs nœuds applicatifs
À retenir : Un bon rate limiting doit définir à la fois qui est compté, sur quelle fenêtre, avec quel seuil et quel comportement de reprise.