Rate Limiting
DevOps 🟡 MidDéfinition
Mécanisme limitant le nombre de requêtes par client/IP sur une période donnée. Protège contre les abus, DDoS et la surcharge.
Analogie
Le nombre maximum de cafés qu'une machine peut servir par minute : au-delà, il faut attendre.
Exemple de code
// express-rate-limit
const limiter = rateLimit({
windowMs: 15 * 60 * 1000,
max: 100,
message: 'Too many requests'
});
app.use('/api', limiter);
Cas d'usage
Protéger les APIs publiques contre les abus et garantir un service équitable.
Anti-pattern
Termes liés
En entretien
Explique-moi le rate limiting et pourquoi on en met sur une API.
C'est un mécanisme qui limite le nombre de requêtes par client ou IP sur une période donnée, pour protéger contre les abus, le DDoS et la surcharge. C'est comme le nombre maximum de cafés qu'une machine peut servir par minute : au-delà, il faut attendre.
Comment tu implémenterais un rate limit simple sur une API Express ?
Avec un middleware comme express-rate-limit configuré avec un windowMs et un max, par exemple 100 requêtes par 15 minutes appliqué sur app.use('/api', limiter). C'est le use case type pour protéger une API publique et garantir un service équitable.
Pourquoi le rate limiting uniquement par IP est-il insuffisant ?
Parce qu'il est contournable via des proxies, ce qui le rend insuffisant seul. Il faut souvent le combiner avec d'autres critères, comme un identifiant de compte ou de clé API.
Fiche mise à jour le 2026-09-27