RATE LIMITING: QUÉ ES Y CÓMO LIMITAR PETICIONES
Rate Limiting es una técnica de seguridad y control que limita la cantidad de solicitudes que un usuario, IP o token puede hacer a la aplicación o API en un período de tiempo determinado.Por ejemplo si se tiene una API sin rate limiting un usuario podría hacer 10.000 peticiones por segundo y esto podría saturar el servidor, generar costos altos o ser usado para ataques como DDoS, brute force, scraping agresivo, etc.... Si se supera el límite, la aplicación devuelve un error, normalmente 429 Too Many Requests.
Se pueden configurar diferentes límites:
- Por IP
- Por usuario autenticado
- Por token API
- Límites diferentes según el plan (free, pro, enterprise)
¿Cómo funciona?
- El sistema cuenta las peticiones.
- Guarda el conteo, normalmente en Redis o en caché.
- Cuando se alcanza el límite se bloquea las siguientes peticiones.
- Después del tiempo configurado, el contador se reinicia.