Pular para o conteudo principal

Orquestração interna de fluxo longo

Quando fluxo longo cresce por exceções e callbacks improvisados, o backend acaba montando uma máquina de estados difícil de explicar e operar.

Andrews Ribeiro

Andrews Ribeiro

Founder & Engineer

O problema

Fluxo longo não nasce grande.

Ele cresce.

Primeiro vem:

  • etapa A
  • depois etapa B

Aí aparecem:

  • timeout
  • retry
  • aprovação manual
  • callback externo
  • reprocessamento
  • exceção por tenant

Quando o time percebe, o backend já está rodando uma máquina de estados.

Só que sem chamar por esse nome.

Modelo mental

Fluxo longo costuma pedir clareza em cinco coisas:

  • estados relevantes
  • transições
  • dono da orquestração
  • política de falha
  • recuperação

Você não precisa transformar tudo em framework de workflow.

Mas também não deveria aceitar que a ordem do fluxo fique implícita em if espalhado.

Exemplo simples

Imagine um onboarding B2B com:

  • criação de conta
  • validação documental
  • provisionamento
  • cobrança
  • ativação final

Se cada etapa dispara a próxima por side effect local, logo você ganha:

  • duplicidade
  • corrida de estados
  • callback chegando fora de hora
  • retry chamando etapa errada

Uma orquestração melhor normalmente explicita:

  • em que estado o processo está
  • o que pode avançar
  • o que pode repetir
  • o que exige compensação ou ação humana

O erro comum

O erro comum é pensar:

“não quero criar máquina de estados”

Mas o fluxo já é uma.

Então a escolha real não é “ter ou não ter”.

É:

  • ter de forma explícita o suficiente
  • ou deixar surgir de forma acidental e difícil de operar

Outro erro comum é usar evento para tudo e chamar isso de desacoplamento.

Às vezes é só perda de clareza sobre quem realmente governa o avanço.

O que normalmente ajuda

Ajuda bastante escolher:

  • qual ponto conhece o estado do fluxo
  • quais etapas são obrigatórias
  • quais são derivadas
  • quais transições precisam ser idempotentes

Também ajuda escrever o fluxo como coisa explicável:

  • estado atual
  • próxima ação possível
  • gatilhos de erro
  • política de retomada

Se isso não cabe numa explicação simples, o desenho costuma estar frouxo demais.

Como um senior pensa

Quem já operou fluxo longo em produção costuma perguntar:

  • onde mora a verdade sobre o estado?
  • quem decide avanço e quem só executa etapa?
  • onde o fluxo pode ficar preso?
  • como eu retomo sem duplicar passo ou pular validação?

Essa conversa evita que workflow vire improviso distribuído.

Ângulo de entrevista

Esse tema aparece em backend, pagamentos, onboarding, fulfillment e system design.

O entrevistador quer ver se você entende:

  • que fluxo longo precisa de modelo operacional claro
  • que evento e job não substituem orquestração
  • que estados implícitos demais geram sistemas difíceis de explicar e recuperar

Resposta forte costuma soar assim:

“Eu tentaria deixar explícitos os estados e as transições realmente importantes do fluxo, sem necessariamente comprar uma plataforma de workflow. O problema não é admitir que existe estado; é deixar esse estado escondido em callbacks, retries e efeitos laterais.”

Takeaway direto

Fluxo longo já tem estados.

Melhor enxergá-los cedo do que descobrir tarde demais em produção.

Resumo rápido

O que vale manter na cabeça

Checklist de pratica

Use isto ao responder

Você concluiu este artigo

Próximo artigo Timeout, retry e deadline sem deixar cada camada decidir sozinha Artigo anterior Ordem, causalidade e replays internos sem assumir sequência perfeita

Continue explorando

Artigos relacionados