Sur le login, un attaquant teste des milliers de mots de passe. Limiter les tentatives casse l'attaque.
Un bot aspire tes données, ou un client boguée boucle. La limite protège tes ressources.
Un endpoint qui appelle un LLM sans limite, c'est une facture ouverte. Un plafond par user la borne.
Un gros consommateur ne doit pas dégrader le service des autres. La limite garde le partage juste.
L'algo le plus simple et le plus courant : chaque clé (IP ou user) a un compteur qui se remplit sur une fenêtre de temps. Au-delà de la limite, on renvoie un 429. Redis est parfait pour ça — atomique et partagé entre toutes tes instances.
Limite par user connecté quand tu peux, pas seulement par IP : derrière un NAT d'entreprise, des centaines d'utilisateurs partagent la même IP.
Surveiller les 429, c'est de l'observabilité : je couvre logs et alertes dans monitoring : logs, alertes, uptime.
Fini le .env commité par erreur : où vivent les secrets, comment les injecter, et comment les faire tourner.
Savoir que ça casse avant le client : logs structurés, métriques, alertes qui ne crient pas pour rien.