O que é o Rate Limiter da Transloadit?

Um sistema que protege os clientes limitando a criação de Assemblies a 250 por minuto e o número de Assemblies simultâneas a 2.500, por padrão. Por padrão, cada Assembly pode passar até 8 horas fazendo upload e depois mais 8 horas em execução. As rejeições usam RATE_LIMIT_REACHED com um tempo de espera de info.retryIn em segundos. Os limites podem ser ajustados mediante solicitação.

Como o Rate Limiter funciona

Um limitador de taxa é o componente que aplica uma ou mais políticas de limitação de taxa. Ele observa o trabalho admitido sob uma chave escolhida, compara esse trabalho com cotas independentes e então aceita, adia ou rejeita novos trabalhos. Separar as cotas de envio, concorrência e duração de cada fase impede que um cliente respeite uma dimensão enquanto esgota outra. As integrações devem considerar os valores atuais do produto e o formato das rejeições na referência da API como o contrato oficial, em vez de copiá-los para o código de agendamento local.

Informações essenciais

  1. Uma cota de criação controla a admissão ao longo do tempo, enquanto uma cota de concorrência controla o trabalho que permanece ativo; o agendador do cliente deve considerar ambas de forma independente.
  2. Upload e execução são fases distintas do processamento. Um trabalho demorado em qualquer uma dessas fases pode continuar ocupando a capacidade de concorrência mesmo quando a taxa de envio recente é baixa.
  3. O comportamento das novas tentativas faz parte do contrato do serviço: os clientes devem reconhecer o sinal de rejeição documentado e respeitar o tempo de espera informado, em vez de tentar novamente de imediato.

Quando o Rate Limiter é importante

Mantenha a taxa de envio e a concorrência dentro dos limites documentados ou combine um ajuste antes de um pico de tráfego previsível. Trate uma rejeição como contrapressão: interrompa novos envios, aguarde o número de segundos indicado no campo info.retryIn do erro e retome gradualmente. Novas tentativas imediatas e sem controle apenas aumentam o número de tentativas sem concluir o processamento de mídia.

Transforme conhecimento sobre mídia em um pipeline funcional

Conecte uploads, processamento, IA, armazenamento e entrega por meio de uma única API declarativa, com o stack de codificação, o ajuste de escala e as constantes mudanças de formatos gerenciados para você.

Experimente a Transloadit gratuitamente