O que é backoff
Backoff é a estratégia que define quanto esperar antes de uma nova tentativa depois de uma falha. Em uma automação que consulta uma API, ele evita que o retry repita chamadas continuamente enquanto o serviço ainda está indisponível ou recusando o volume recebido.
Essa espera controla a frequência das tentativas, mas não corrige a chamada nem garante a recuperação do destino. Você precisa combinar o intervalo com os tipos de falha que permitem repetição e com o tratamento previsto quando o resultado continua ausente.
Espera fixa e crescimento exponencial
Um backoff fixo mantém o mesmo intervalo entre as tentativas, como três segundos depois de cada falha. No exponencial, cada intervalo dobra em relação ao anterior quando o fator é dois.
Na espera linear, cada tentativa acrescenta o mesmo intervalo ao anterior. No crescimento exponencial, o intervalo é multiplicado por um fator, que pode ser dois.
O teto do intervalo e o prazo total
O crescimento pode ter um teto para impedir que as pausas fiquem excessivamente longas. Depois de alcançar esse teto, a estratégia continua respeitando o máximo definido, mas ainda precisa de um limite de tentativas ou de duração total.
Também confira como a ferramenta calcula o total de tentativas. Uma configuração com quatro chamadas inclui a inicial e permite até três repetições. Outra configuração pode permitir quatro novas chamadas depois da inicial.
Jitter distribui as novas chamadas
Quando muitas execuções falham juntas e usam intervalos idênticos, elas podem voltar a chamar o destino ao mesmo tempo. O jitter acrescenta uma variação aleatória às esperas para distribuir essas tentativas, conforme o cálculo oferecido pela ferramenta.
Imagine cem exportações que consultam o mesmo armazenamento após uma interrupção. Espaçar todas por exatamente dois segundos ainda pode criar um novo pico no mesmo instante, enquanto intervalos variados distribuem as consultas ao longo de uma faixa de tempo.
A orientação do serviço também precisa ser respeitada
Uma resposta pode informar por quanto tempo o cliente deve aguardar, como acontece com o header Retry-After em algumas APIs. A estratégia local precisa considerar essa orientação documentada, em vez de repetir antes do prazo apenas porque o próximo intervalo calculado seria menor.
A idempotência continua necessária quando a chamada pode produzir efeitos repetidos. Esperar dez segundos antes de reenviar uma criação não impede que ela seja duplicada se a primeira tentativa já tiver concluído no destino.
Como conferir a aplicação do backoff
Registre os horários das falhas, os intervalos escolhidos e o início de cada nova tentativa. Compare esses registros com o limite total para saber se a automação está esperando e encerrando a repetição conforme o planejado.
Uma tentativa bem-sucedida depois de uma pausa não comprova que a pausa resolveu a causa. O resultado mostra que aquela chamada funcionou, enquanto a investigação do serviço explica por que as anteriores falharam.
Dúvidas frequentes
Perguntas frequentes sobre Backoff
- Todo intervalo crescente é exponencial?
- Não. O crescimento exponencial multiplica a espera por um fator, como dois. Uma sequência que soma sempre o mesmo tempo tem crescimento linear.
- O que é jitter no backoff?
- É uma variação aleatória aplicada ao intervalo. Ela distribui as novas tentativas para que várias execuções não voltem a chamar o serviço exatamente no mesmo instante.
- Backoff substitui um limite de tentativas?
- Não. A espera controla o ritmo, enquanto o limite de tentativas ou de duração define quando interromper a repetição e encaminhar a falha.
- Esperar mais garante que a próxima chamada funcionará?
- Não. O serviço pode continuar indisponível, ou a chamada pode precisar de correção. Uma credencial inválida, por exemplo, não se torna válida apenas com a passagem do tempo.
Para continuar
Recursos relacionados
Documentação
BullMQ: novas tentativas e backoff
Estratégias de espera fixa, exponencial e variação com jitter.
Abrir recursoDocumentação
Microsoft: padrão Retry
Escolha de intervalos, limites e tratamento de falhas transitórias.
Abrir recursoAplicação na formação
n8n Experts
O backoff ajusta o intervalo das novas tentativas para reduzir chamadas sucessivas a um serviço com falhas.
Conhecer a formação
Fontes consultadas
Referências deste verbete
Este verbete ajudou você?
Obrigado pela resposta. Ela fica salva apenas neste navegador.