¿Qué es el Rate Limiter de Transloadit?
Un sistema que protege a los clientes limitando por defecto la creación de Assemblies a 250 por minuto y 2.500 Assemblies concurrentes. De forma predeterminada, cada Assembly puede dedicar hasta 8 horas a la subida y después otras 8 horas a la ejecución. Los rechazos usan RATE_LIMIT_REACHED con un retraso en segundos en info.retryIn. Los límites pueden ajustarse previa solicitud.
Cómo funciona el Rate Limiter
Un limitador de tasa es el componente que aplica una o más políticas de limitación de tasa. Observa el trabajo admitido bajo una clave determinada, lo compara con cuotas independientes y luego acepta, retrasa o rechaza trabajo nuevo. Separar las cuotas de envío, concurrencia y duración de las fases evita que un cliente cumpla con una dimensión mientras agota otra. Las integraciones deberían considerar los valores actuales del producto y la estructura de rechazo de la referencia de la API como el contrato de referencia, en lugar de copiarlos en el código local de planificación.
Datos clave
- Una cuota de creación regula la admisión a lo largo del tiempo, mientras que una cuota de concurrencia regula el trabajo que permanece activo; el planificador del cliente debe tener en cuenta ambas de forma independiente.
- La subida y la ejecución son fases de procesamiento distintas. Un trabajo prolongado en cualquiera de ellas puede retener capacidad de concurrencia incluso cuando la tasa de envío reciente es baja.
- El comportamiento de los reintentos forma parte del contrato del servicio: los clientes deberían reconocer la señal de rechazo documentada y respetar el tiempo de espera que indica, en lugar de reintentar de inmediato.
Cuándo es relevante el Rate Limiter
Mantén la tasa de envío y la concurrencia dentro de los límites documentados, o gestiona un ajuste antes de un aumento previsible del tráfico. Trata un rechazo como una señal de contrapresión: detén los nuevos envíos, espera la cantidad de segundos indicada en el campo info.retryIn del error y reanuda los envíos gradualmente. Los reintentos inmediatos sin control solo añaden intentos sin completar el procesamiento de medios.