Rate limiting
Término 238 de 314 · Tecnología
En una frase
El rate limiting es una técnica que limita cuántas peticiones puede hacer un cliente a una API en un período definido. Protege los servidores de sobrecarga, abuso y caídas, devolviendo un error 429 cuando se supera el cupo permitido.
El rate limiting (o limitación de tasa) es el mecanismo que controla cuántas peticiones puede enviar un cliente a una API dentro de una ventana de tiempo determinada, por ejemplo 100 llamadas por minuto. Cuando se supera ese cupo, el servidor responde con un código HTTP 429 (Too Many Requests) y, en general, rechaza las peticiones excedentes hasta que la ventana se reinicia.
Su propósito es proteger la infraestructura: evita que un solo cliente, un bug en un bucle o un ataque sature los recursos y degrade el servicio para todos. También permite a un proveedor repartir la capacidad de forma justa entre todos sus consumidores y, muchas veces, monetizar el acceso por niveles de plan.
En el ecosistema de plataformas como Salesforce, la limitación de tasa es uno de los controles que enmarcan cualquier integración seria. Cuando un proyecto sobre Salesforce consume APIs externas o expone las propias, el rate limiting define el ritmo seguro al que pueden hablar los sistemas sin romperse entre sí.
Cómo funciona en la práctica
El servidor lleva una cuenta de las peticiones que recibe de cada cliente, normalmente identificado por su clave de API, su token o su dirección IP. Si el cliente está dentro del cupo, la petición se procesa con normalidad; si lo excede, se la rechaza con un 429 sin consumir recursos de cómputo pesados. Muchas APIs acompañan la respuesta con cabeceras informativas como `X-RateLimit-Remaining` (cuántas llamadas quedan) y `Retry-After` (cuántos segundos esperar antes de reintentar), lo que permite a un cliente bien programado autorregularse en vez de seguir golpeando.
Detrás existen varios algoritmos clásicos, cada uno con un compromiso distinto entre simplicidad y precisión:
- Token bucket: un balde se llena con fichas a ritmo constante y cada petición consume una; permite ráfagas cortas mientras haya fichas acumuladas. Es el más usado por su flexibilidad.
- Leaky bucket: las peticiones salen a un ritmo fijo, como agua por un agujero; suaviza los picos pero no premia la inactividad previa.
- Fixed window: se cuenta por bloques de tiempo cerrados (por minuto, por hora); es simple pero sufre el problema del borde, donde dos ráfagas pegadas al cambio de ventana duplican el tráfico real.
- Sliding window: una ventana deslizante que corrige ese efecto de borde a cambio de más cómputo.
Por qué le importa al negocio (y no solo a TI)
Aunque suene técnico, el rate limiting tiene consecuencias muy concretas. Una sincronización nocturna que vuelca pedidos a Salesforce puede fallar a la mitad si dispara más llamadas de las permitidas y el proveedor empieza a devolver 429. El resultado visible para el negocio es datos desactualizados, reportes incompletos o un webhook que deja de notificar. Por eso, dimensionar bien los límites y manejar los reintentos es parte de cualquier integración estable, no un detalle opcional.
Ejemplo concreto en Argentina y LATAM
Pensemos en un e-commerce argentino que consulta la API de un proveedor de pagos para verificar el estado de cada transacción. En un día de alta demanda (un CyberMonday, por ejemplo) el sistema intenta consultar miles de operaciones por minuto. Si supera el límite del proveedor, las respuestas empiezan a llegar como 429 y algunos clientes ven su pago "pendiente" cuando en realidad ya se aprobó. La solución correcta no es insistir más rápido, sino aplicar backoff exponencial: ante un 429, esperar, reintentar con pausas crecientes y respetar la cabecera `Retry-After`. Lo mismo aplica al integrar WhatsApp Business API, AFIP para facturación electrónica o cualquier servicio que cobra y protege su capacidad por cupos.
Errores comunes que conviene evitar
- Tratar el 429 como un fallo definitivo en lugar de un "esperá y reintentá": se pierden datos que sí podían recuperarse.
- Ignorar las cabeceras `Retry-After` o `X-RateLimit-*` y reintentar de inmediato, lo que agrava la situación.
- No distinguir el rate limiting (límite de ritmo, reversible esperando) de una cuota total (límite de volumen por día o mes, que no se libera reintentando).
- Confundir el control de tráfico con los governor limits internos de una plataforma, que son otra capa de protección.
En qué se diferencia de conceptos parecidos
| Concepto | Qué limita | Cómo se libera |
|---|---|---|
| Rate limiting | Peticiones por unidad de tiempo (ritmo) | Esperando a que la ventana se reinicie |
| Cuota (quota) | Volumen total por día, mes o plan | Al comenzar el nuevo período de facturación |
| Throttling | El ritmo se frena o demora, sin rechazar del todo | Bajando la velocidad de envío del cliente |
| Governor limits | Recursos de ejecución dentro de la plataforma | Optimizando el código o el diseño del proceso |
En síntesis, el rate limiting es una defensa silenciosa que mantiene a las APIs disponibles y predecibles. Entenderlo permite diseñar integraciones que se comportan bien bajo presión, recuperan datos sin perderlos y conviven en paz con los límites que cada proveedor impone para cuidar su servicio.
Preguntas frecuentes sobre Rate limiting
¿Qué es el rate limiting?
¿Qué es el rate limiting?
El rate limiting es una técnica que limita cuántas peticiones puede enviar un cliente a una API dentro de una ventana de tiempo, por ejemplo 100 llamadas por minuto. Cuando se supera ese cupo, el servidor devuelve un error 429 (Too Many Requests) y rechaza las peticiones excedentes hasta que la ventana se reinicia. Sirve para proteger los servidores de sobrecarga y abuso, y para repartir la capacidad de forma justa entre todos los clientes.
¿Qué significa el error 429 Too Many Requests?
¿Qué significa el error 429 Too Many Requests?
El código HTTP 429 indica que el cliente envió demasiadas peticiones en muy poco tiempo y superó el límite de tasa permitido por la API. No es un error de tu código ni un fallo permanente: es una señal de que hay que esperar y reintentar más despacio. La mayoría de las APIs incluyen una cabecera Retry-After que indica cuántos segundos conviene aguardar antes de volver a intentar.
¿Cuál es la diferencia entre rate limiting y una cuota?
¿Cuál es la diferencia entre rate limiting y una cuota?
El rate limiting limita el ritmo, es decir cuántas peticiones se permiten por segundo, minuto u hora, y se libera solo con esperar a que la ventana de tiempo se reinicie. Una cuota limita el volumen total, por ejemplo un máximo de llamadas por día o por mes según el plan contratado, y solo se renueva al comenzar el nuevo período. Una integración puede chocar con ambos límites a la vez.
¿Cómo se maneja correctamente un límite de tasa al integrar APIs?
¿Cómo se maneja correctamente un límite de tasa al integrar APIs?
La práctica recomendada es aplicar backoff exponencial: ante un error 429, no reintentar de inmediato sino esperar y volver a intentar con pausas que crecen progresivamente, respetando siempre la cabecera Retry-After. También conviene leer las cabeceras como X-RateLimit-Remaining para saber cuántas llamadas quedan y autorregular el envío antes de chocar con el límite. Reintentar sin pausa solo empeora la situación.
¿Por qué las APIs aplican rate limiting?
¿Por qué las APIs aplican rate limiting?
Las APIs aplican rate limiting principalmente para proteger su infraestructura de sobrecargas, evitando que un solo cliente, un bug en un bucle o un ataque sature los servidores y degrade el servicio para todos. También les permite repartir la capacidad de forma equitativa entre todos los consumidores, mitigar abusos como el scraping y, en muchos casos, ofrecer distintos niveles de acceso según el plan contratado.
Generador de Business Case
Tu caso de negocio con tus números, listo para el directorio.
Abrir la herramientaLo llevamos a tu Salesforce
Implementación, integración y soporte de Salesforce para empresas de LatAm, con foco en que el equipo lo use de verdad y no vuelva al Excel. Contanos en qué punto está tu org.
El glosario completo (más de 290 definiciones de IA, Salesforce y datos) en un PDF con hipervínculos.
Términos relacionados
- APIUna API (interfaz de programación de aplicaciones) es un contrato que permite que dos sistemas de software intercambien datos y funciones sin conocer su código interno. Define qué pedidos hacer y qué respuestas esperar, de forma estándar.
- Governor limitsLos governor limits son los límites de ejecución que Salesforce impone a cada transacción (consultas, registros procesados, llamadas API, CPU) para proteger los recursos compartidos de su arquitectura multitenant, donde muchos clientes corren sobre la misma infraestructura.
- WebhookUn webhook es una notificación HTTP automática que un sistema envía a una URL de otro sistema cuando ocurre un evento, en tiempo real. Permite integrar aplicaciones sin que una tenga que preguntar a la otra cada cierto tiempo.
- IntegraciónUna integración es la conexión técnica que permite que dos o más sistemas (CRM, ERP, e-commerce, etc.) intercambien datos de forma automática, sin carga manual, para que la información fluya sincronizada entre ellos en tiempo real o por lotes.
- Regla de validaciónUna regla de validación es una condición de Salesforce que evalúa los datos de un registro al guardar y bloquea el guardado con un mensaje de error si no cumplen un criterio, garantizando calidad y consistencia de la información.
- ReleaseEl release es cada una de las tres actualizaciones anuales que Salesforce aplica a toda su plataforma: Spring, Summer y Winter. Trae funciones nuevas, mejoras y parches de seguridad documentados en las release notes, y se prueba antes en un sandbox de preview.
Preguntas relacionadas
Salesforce
Implementación, integración y soporte de Salesforce para empresas de LatAm, con foco en la adopción real del equipo.
Así lo resuelve SalesforceAhora que sabés qué es, mirá cómo se resuelve
Cinco productos de IA que trabajan sobre el CRM que ya usás. No reemplazan tu sistema: le agregan la capa que hoy hacés a mano.