Logo de Dallonses

Rate limiting

¿Qué es el rate limiting?

El rate limiting controla cuántas peticiones puede hacer un cliente a un servicio en una ventana de tiempo determinada. Al llegar al tope, el servidor responde con un estado 429, normalmente con una cabecera que indica cuándo se puede volver a intentar. Es el mecanismo que evita que un solo cliente, malintencionado o simplemente mal programado, sature un sistema del que dependen todos los demás.

Las razones van de la seguridad a la equidad y al coste. Frena los ataques de fuerza bruta sobre el login y el tráfico de denegación de servicio. Impide que una sola integración monopolice la capacidad compartida. Mantiene predecibles las facturas que dependen del uso. Una API pública que permite mil llamadas por hora a cada clave usa el rate limiting para proteger tanto su infraestructura como al resto de clientes. Entre los enfoques habituales está el token bucket, que admite picos breves por encima del ritmo estable, y la ventana deslizante, que suaviza el recuento a lo largo del tiempo. Los límites suelen aplicarse por clave de API, por usuario o por dirección IP.

Un buen rate limiting también es un contrato. La respuesta le dice al cliente cuál es su límite, cuánto le queda y cuándo se reinicia la ventana, de modo que un consumidor bien hecho puede esperar y reintentar en lugar de golpear un muro. El arte está en fijar límites lo bastante altos para que el uso legítimo nunca los note y lo bastante bajos para que el abuso se corte antes de que cueste algo a nadie.

Rate limiting en Dallonses

Integramos el rate limiting en las APIs desde el principio, no cuando un incidente nos obliga. En un proyecto que exponía datos a partners externos, fijamos límites por niveles según la clave, devolvimos cabeceras claras para que los partners pudieran regularse con limpieza y mantuvimos las reglas en un solo sitio para ajustarlas con facilidad a medida que aparecían los patrones de uso reales. Ningún partner se llevó una sorpresa y ningún cliente pudo tumbar la plataforma.

En el desarrollo de aplicaciones web a medida que hacemos, el rate limiting es una capa más dentro de una defensa más amplia, junto a la autenticación, la validación y la monitorización. Ajustamos los umbrales contra el tráfico real en vez de adivinar, y hacemos predecible el comportamiento ante el fallo para que quien se integre con la API sepa exactamente qué esperar. Protección que cumple su función sin estorbar a quien usa el sistema como debe.

¿Vas a abrir una API al mundo y quieres que aguante en pie? Fijemos bien los límites.

Hablemos de tu API

Servicios relacionados


¿Listo para trabajar juntos?

Reservar una reunión
Aymón sosteniendo una revista Tools frente a su cara
Ari trabajando en una laptop al aire libre rodeado de plantas
Vista superior de un escritorio de madera con teclado, ratón y auriculares
Ilustración dibujada a mano de una mano chasqueando los dedos
Nico recostado contra un dispensador de agua junto a un extintor de incendios
Primer plano de una computadora abierta con placa de circuito y componentes en un escritorio de madera
Bernat y Andreu colaborando en un escritorio con monitores y una laptop
Ilustración dibujada a mano de una mano abierta saludando
Aymón sosteniendo una revista Tools frente a su cara
Ari trabajando en una laptop al aire libre rodeado de plantas
Vista superior de un escritorio de madera con teclado, ratón y auriculares
Ilustración dibujada a mano de una mano chasqueando los dedos
Nico recostado contra un dispensador de agua junto a un extintor de incendios
Primer plano de una computadora abierta con placa de circuito y componentes en un escritorio de madera
Bernat y Andreu colaborando en un escritorio con monitores y una laptop
Ilustración dibujada a mano de una mano abierta saludando