WindevExpert

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.

RÉSULTAT : Crash général (Déni de Service).

La Protection 429

"Nous allons apprendre à dire : 'Tu as déjà fait 60 appels cette minute, attends un peu'."

Laboratoire : Le Test d'Endurance

00 / 10
Requêtes / 10s
API LOGS
// Monitoring actif...

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.

Règle d'Expert :

"Rejeter une requête au plus tôt pour sauver les ressources."

Time-to-Live (TTL)
60 SECONDES

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()