Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Throttling

devsecops

Définition

Le Throttling (limitation progressive du débit) est une technique de contrôle de débit des APIs qui diffère du Rate Limiting classique dans son approche : plutôt que de bloquer brusquement les requêtes après un seuil (HTTP 429), le Throttling introduit progressivement des délais de traitement ou réduit la qualité de service à mesure que le client approche de ses limites. Cette approche graduelle améliore l'expérience des clients légitimes qui approchent leurs limites tout en protégeant les ressources backend. Le Throttling classique peut prendre plusieurs formes. Le delay-based throttling ajoute un délai de traitement croissant aux requêtes successives d'un client approchant sa limite (délai de 0ms pour les 100 premières requêtes, 100ms pour les suivantes, 1000ms au-delà), permettant aux clients d'adapter naturellement leur rythme sans erreur. Le degraded-response throttling retourne des réponses simplifiées (moins de champs, pagination réduite) aux clients en surconsommation sans les bloquer complètement. Le queue-based throttling place les requêtes excédentaires en file d'attente avec traitement différé plutôt que de les rejeter. Le Throttling est particulièrement précieux pour les APIs exposées à des clients automatisés (bots, crawlers, intégrations tierces) qui peuvent légitimement générer des volumes élevés et s'adapter facilement à des délais additionnels, contrairement aux utilisateurs humains qui perçoivent les délais comme une dégradation d'expérience. Dans les architectures API Gateway, le Throttling est souvent implémenté conjointement avec le Rate Limiting : un premier niveau (Rate Limiting strict) bloque les abus évidents (centaines de requêtes par seconde), un second niveau (Throttling progressif) gère les pics légitimes importants mais acceptables avec une dégradation douce.

Différences Throttling vs Rate Limiting

Rate Limiting : seuil dur (100 req/min) → 429 Too Many Requests au-delà, sans distinction entre client légitime en pointe et attaquant. Throttling : réponse graduelle → délais croissants ou qualité de service réduite à l'approche du seuil, permettant aux clients légitimes de s'adapter sans erreur. L'utilisation combinée est optimale : Rate Limiting pour les abus manifestes (>1000 req/min), Throttling pour les pics légitimes (100-1000 req/min).

Implémentation du Throttling dans les API Gateways

Kong (plugin rate-limiting advanced) propose un mode "smooth" implémentant du throttling. AWS API Gateway propose Usage Plans avec throttling per-stage et per-method. nginx avec ngx_http_limit_req_module permet des configurations de burst avec nodelay ou delay. Les bibliothèques applicatives comme bucket4j (Java) ou slowapi (FastAPI Python) permettent un throttling application-level avec délais programmables. La configuration recommandée expose les headers X-RateLimit-Limit, X-RateLimit-Remaining et Retry-After pour que les clients s'adaptent intelligemment.

Throttling des opérations coûteuses

Certaines opérations nécessitent un Throttling spécifique indépendamment du volume général : les opérations d'IA (LLM completions), la génération de rapports, les exports de données massifs, et les recherches full-text coûteuses. Un Throttling basé sur les ressources consommées (compute units, tokens LLM) plutôt que sur le simple nombre de requêtes est plus équitable et plus représentatif de l'impact réel sur l'infrastructure. Des services comme AWS API Gateway Token Bucket permettent ce type de throttling resource-aware.

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis