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?

  1. El sistema cuenta las peticiones.
  2. Guarda el conteo, normalmente en Redis o en caché.
  3. Cuando se alcanza el límite se bloquea las siguientes peticiones.
  4. Después del tiempo configurado, el contador se reinicia.

Propósitos del Rate Limiting

Seguridad Prevenir ataques de fuerza bruta, DDoS y abuso
Estabilidad Evitar que el servidor se sobrecargue
Justicia Que todos los usuarios tengan acceso equitativo
Control de costos En servicios con IA (como Claude) o bases de datos
Cumplimiento Cumplir políticas de uso (ej. APIs públicas)