Un límite de tasa de API es un mecanismo de control que restringe el número de solicitudes que un cliente puede hacer a una API dentro de una ventana de tiempo definida. La limitación de tasa protege los servicios contra el abuso, asegura una asignación justa de recursos entre usuarios y previene que clientes individuales sobrecarguen el sistema con solicitudes excesivas.
La limitación de tasa se implementa típicamente usando algoritmos como el token bucket, ventana deslizante o contador de ventana fija. El algoritmo de token bucket es popular porque permite ráfagas cortas de tráfico mientras mantiene un límite de tasa promedio. La información del límite de tasa se comunica a los clientes a través de cabeceras HTTP como X-RateLimit-Limit, X-RateLimit-Remaining y Retry-After. Los libros sobre diseño de API en Amazon explican patrones de implementación.
Para los servicios de acortamiento de URL, la limitación de tasa se aplica a múltiples endpoints: creación de enlaces (para prevenir spam), manejo de redirecciones (para mitigar ataques DDoS), consultas de analítica (para proteger recursos de base de datos) y operaciones masivas (para gestionar la carga del servidor). Diferentes endpoints pueden tener diferentes límites de tasa según su consumo de recursos.
Cuando un cliente excede el límite de tasa, el servidor responde con HTTP 429 (Too Many Requests) y una cabecera Retry-After indicando cuándo el cliente puede reanudar las solicitudes. Las API bien diseñadas proporcionan documentación clara de los límites de tasa y respuestas de error elegantes. Los libros sobre arquitectura en la nube en Amazon discuten estrategias de escalabilidad.