Vidéo 31 • Haute Disponibilité
Rate Limiting :
Le Filtre Anti-Spam
Apprenez à limiter le nombre de requêtes par seconde pour protéger votre infrastructure contre les abus et les attaques.
Pourquoi brider vos propres clients ?
Le Syndrome du "Spammeur Involontaire"
Un client a un bug sur sa connexion. Son application réessaie 100 fois par seconde.
Le serveur sature son CPU pour répondre à CE client, et bloque tous les autres.
La Protection 429
"Nous allons apprendre à dire : 'Tu as déjà fait 60 appels cette minute, attends un peu'."
Laboratoire : Le Test d'Endurance
Le Concept du "Token Bucket"
Comment compter sans ralentir ?
On ne fait pas de `HNbRec` à chaque fois (trop lent).
L'expert utilise un **Cache Mémoire (ou Redis)**.
Chaque IP possède un compteur. Si le compteur dépasse le seuil, le serveur renvoie l'erreur 429 instantanément, sans même toucher à la base de données.
"Rejeter une requête au plus tôt pour sauver les ressources."
Le Code : Protection Inbound
// 1. On identifie l'appelant par son IP ou son API-KEY sIDAppelant est une chaîne = NavigateurAdresseIP() // 2. On incrémente le compteur en mémoire (Cache local ou Redis) nNbAppels est un entier = CacheIncrémente("RATE_" + sIDAppelant, 60s) SI nNbAppels > 100 ALORS // 3. STOP : Limite dépassée ! // On renvoie le code HTTP standard 429 HTTPRéponse(429, "Too Many Requests - Try again later.") RETOUR FIN // 4. Autorisé : On continue le traitement normal TraitementRequete()