Início › Glossário › Backpressure (pressão de retorno)
Glossário

O que é Backpressure (pressão de retorno)?

Backpressure é quando sua automação recebe/gera tarefas mais rápido do que consegue processar. O resultado aparece como fila crescendo, execuções atrasadas, timeouts e erro 429 por limite de API. Para resolver, você precisa desacelerar o produtor ou aumentar a capacidade do consumidor: limitar concorrência, usar filas, aplicar retry com backoff, processar em lotes e desacoplar etapas críticas.

Backpressure, na prática: por que acontece em automações

Em automação, sempre existe um “produtor” (webhook, polling, importação, fila) e um “consumidor” (seu workflow chamando APIs, gravando no banco, gerando PDFs, etc.). Backpressure aparece quando o produtor empurra eventos mais rápido do que o consumidor consegue concluir.

Isso não é só “lentidão”: é um desequilíbrio de taxa. Um fluxo pode estar correto logicamente e ainda assim entrar em colapso operacional quando o volume sobe ou quando uma API externa começa a responder mais devagar.

Sinais clássicos de que você entrou em backpressure

Alguns sintomas são óbvios, outros parecem “bugs aleatórios”. Se você enxergar dois ou três itens abaixo ao mesmo tempo, trate como backpressure até prova em contrário.

  • Fila de execuções aumentando (ou backlog no queue/worker) sem voltar ao normal
  • Atraso crescente: o evento chega agora, mas só é processado minutos/horas depois
  • Timeouts intermitentes, principalmente em etapas no fim do fluxo
  • Erros 429 (rate limit) ou bloqueios temporários de APIs
  • Duplicidades e reprocessamentos em cascata (retry mal configurado)
  • Picos de CPU/memória e quedas por OOM quando o fluxo “engole” muita carga

O custo escondido: quando backpressure vira incidente

Backpressure vira incidente quando o backlog passa a comprometer SLA (ex.: lead esfria), integridade (ex.: pedidos duplicados) ou custo (ex.: reexecuções e tarefas cobradas por operação).

Em iPaaS e automações no-code, um detalhe agrava: a cobrança pode ser por execução/operação. Uma tempestade de retries pode multiplicar o custo sem necessariamente resolver o gargalo.

Estratégias que funcionam (e as que só empurram o problema)

A saída quase nunca é “aumentar máquina” apenas. Backpressure pede controle de fluxo. Abaixo, o que costuma resolver de verdade, com o trade-off que vem junto.

EstratégiaQuando usarEfeito esperadoCuidado
Limitar concorrência (workers/threads/concurrency do workflow)API externa com rate limit ou recursos internos no limiteEstabiliza e reduz 429/timeoutsAumenta latência se o volume continuar alto
Fila entre etapas (desacoplamento produtor/consumidor)Eventos em rajada (webhook de campanha, importações, virada do dia)Absorve pico e mantém sistema “respirando”Fila sem monitoramento vira depósito de problema
Retry com backoff (idealmente com jitter)Erros transitórios: 429, 502, 503, timeoutsMenos falhas e menos martelada na APIRetry sem limite e sem DLQ cria loop caro
Batching (processar em lotes)Listagens/paginação, sincronizações, atualizações em massaReduz overhead e número de chamadasLotes grandes demais estouram memória/timeout
Priorização (fila por prioridade / rotas separadas)Mistura de tarefas críticas e não críticasGarante o essencial mesmo com backlogExige regra clara do que é “crítico”
Circuit breaker / degradação controladaDependência externa instávelEvita cascata de erro e congestionamentoPode “recusar” trabalho; precisa plano de reprocesso

Um checklist rápido para diagnosticar o gargalo

Quando alguém diz “o workflow travou”, eu tento localizar o gargalo em 15 minutos com este roteiro. Funciona em n8n, Make e integrações customizadas porque o princípio é o mesmo.

  • 1) Meça onde o tempo está indo: qual nó/etapa concentra a maior duração?
  • 2) Compare taxa de entrada vs taxa de saída: chegam 100 eventos/min e você conclui 20/min?
  • 3) Identifique dependências externas: qual API está limitando ou oscilando (429/5xx)?
  • 4) Verifique concorrência real: quantas execuções simultâneas estão abertas?
  • 5) Audite retry: quantas tentativas, com qual intervalo, e com quais erros?
  • 6) Cheque memória e payloads: tem arquivo grande, lista gigante ou resposta muito pesada?
  • 7) Defina a “válvula de segurança”: fila/DLQ, pausa de ingestão, ou degradação temporária

Regra de ouro: backpressure não se resolve no grito (nem no retry infinito)

Se a automação está apanhando de limite de API, o pior remédio é aumentar paralelismo e mandar mais requisições. Você só acelera o colapso.

O caminho consistente é: controlar a taxa (concurrency), amortecer picos (fila), tratar falhas transitórias (backoff) e separar o que é crítico do que pode esperar.

Perguntas frequentes

Backpressure é a mesma coisa que rate limit (erro 429)?
Não. Rate limit é uma política do provedor (ex.: “X requisições por minuto”). Backpressure é o efeito sistêmico quando sua entrada/produção supera sua capacidade de processamento. O 429 é um sintoma comum, mas você pode ter backpressure mesmo sem 429 (por exemplo, por CPU, banco lento ou etapas pesadas).
Como saber se devo usar fila ou só reduzir concorrência?
Reduzir concorrência estabiliza quando o problema é excesso de paralelismo contra um recurso limitado (API, banco, CPU). Fila é indicada quando você precisa absorver picos e desacoplar entrada de processamento (webhooks em rajada, importações, campanhas). Na prática, muitos cenários usam os dois: fila + consumidor com concorrência controlada.
Retry resolve backpressure?
Retry ajuda apenas em falhas transitórias e deve ser limitado e espaçado (backoff). Se o gargalo é constante (capacidade menor que demanda), retry só cria backlog e pode aumentar custo e duplicidades. Retry é “amortecedor”, não é aumento de capacidade.
O que muda entre automação síncrona (webhook) e assíncrona para backpressure?
No síncrono, você tende a sentir backpressure como timeouts e webhooks que expiram. No assíncrono, o sintoma vira fila/backlog. Sempre que possível, responda rápido (ack) e processe assíncrono quando a etapa for pesada ou depender de terceiros — isso reduz a chance de travar a ingestão.

Termos relacionados

← Ver glossário completo