Ir para o conteúdo principal
ArchPrompts
Voltar ao blog
Caderno técnico / Nota de campo

Circuit Breaker: como parar uma falha antes que ela vire cascata

Um serviço lento em cascata derruba o sistema inteiro mais rápido que um serviço fora do ar. O circuit breaker existe pra isso: parar de tentar antes que a tentativa vire o problema.

A
ArchPrompts
3 min de leitura
Circuit Breaker: como parar uma falha antes que ela vire cascata
AP / Prancha visual 01
Leitura principal

Um serviço fora do ar é um problema conhecido: o chamador recebe erro, trata, segue a vida. Um serviço lento é pior — cada chamada trava uma thread ou conexão esperando um timeout que nunca chega rápido o bastante, e a fila de requisições represadas cresce até derrubar quem está chamando também. A consequência é direta: a falha deixa de ser local e vira cascata, subindo pela cadeia de serviços até derrubar partes do sistema que não tinham nada a ver com o problema original.

O circuit breaker (disjuntor, no sentido elétrico mesmo — o mesmo dispositivo que desarma antes de queimar a instalação) existe pra cortar essa cascata antes que ela se espalhe.

As três posições do disjuntor

O padrão funciona como uma máquina de estados com três posições:

Diagrama do circuit breaker: estado Fechado permite chamadas e conta falhas; ao ultrapassar o limite, abre e passa a rejeitar chamadas na hora, sem tentar a rede; depois de um tempo de espera, entra em Meio-Aberto e libera uma chamada de teste — sucesso fecha o circuito de novo, falha reabre.
Diagrama do circuit breaker: estado Fechado permite chamadas e conta falhas; ao ultrapassar o limite, abre e passa a rejeitar chamadas na hora, sem tentar a rede; depois de um tempo de espera, entra em Meio-Aberto e libera uma chamada de teste — sucesso fecha o circuito de novo, falha reabre.

  • Fechado — estado normal. As chamadas passam direto pro serviço de destino, e o circuit breaker só conta falhas em segundo plano.
  • Aberto — depois que as falhas ultrapassam um limite definido (ex.: 50% de erro numa janela de 10 segundos), o circuito abre. A partir daí, toda chamada nova falha na hora, sem nem tentar a rede — o chamador recebe erro imediato em vez de esperar um timeout.
  • Meio-Aberto — depois de um tempo de espera configurado, o circuito deixa passar uma chamada de teste. Se ela funcionar, o circuito fecha de novo e o tráfego volta ao normal. Se falhar, reabre e o cronômetro de espera recomeça.

Na prática, isso significa que o serviço com problema ganha um período sem carga pra se recuperar — em vez de continuar recebendo o volume total de chamadas exatamente enquanto está mais fragilizado.

Por que não é só um try/catch com retry

Retry sozinho, sem circuit breaker, piora cascata: cada chamada que falha e tenta de novo multiplica a carga sobre um serviço que já está com dificuldade de responder. É o oposto do efeito desejado — mais tentativa, mais pressão, mais lentidão, ciclo que se retroalimenta.

O circuit breaker resolve isso interrompendo a tentativa completamente durante o estado aberto. Ou seja: retry ajuda a resolver falha transitória pontual; circuit breaker protege o sistema inteiro de uma falha persistente que retry sozinho só pioraria.

Onde isso costuma dar errado

  • Limiar mal calibrado — threshold de erro baixo demais abre o circuito por qualquer soluço passageiro; alto demais deixa a cascata se formar antes de agir
  • Tempo de espera fixo demais — não se adapta a serviços com padrões de recuperação diferentes; um serviço de banco de dados e uma API de terceiro não se recuperam no mesmo ritmo
  • Fallback ausente — abrir o circuito sem ter uma resposta alternativa (cache, valor default, degradação graciosa) só transforma "erro lento" em "erro rápido", sem resolver a experiência de quem está do outro lado

Nenhum desses três é motivo pra não usar o padrão — são motivo pra calibrar com dado real de produção em vez de valor padrão de biblioteca, e pra sempre desenhar o fallback junto com o disjuntor, não depois.

Do conceito à execução

Ferramentas práticas para levar as decisões desta nota ao seu próximo projeto.

07 / selecionados
Diagrama do ataque CVE-2026-53359: VM convidada maliciosa explora bug de emulação MMIO no KVM para escapar ao Ring 0 do host e acessar memória de outras VMs.
Segurança
01 / 03

Defesa em Profundidade Contra Guest Escape em Ambientes Virtuais Multi-Tenant

por João Gabriel

gpt-4ClaudeGemini+2
(0)
0 vendas
R$ 23,94
Arquitetura em 3 camadas do Gateway Multi-Modelo: Aplicação → Orquestração (roteamento, cache, fallover, billing) → Modelos
Agentes
01 / 03

Gateway Multi-Modelo para Agentes de IA — Roteamento Inteligente, Resiliência e Otimização de Custos entre Provedores de LLM

por João Gabriel

GPT-4ogpt-4o-miniclaude-4-sonnet+4
(0)
0 vendas
R$ 59,90
Fluxo de Decisão do ADR — etapas desde o gatilho até o rollout, conforme o template estruturado do pacote.
ADR
01 / 03

ADR de Adoção de Compilador TypeScript Nativo — Decisão Arquitetural com Scriptc da Vercel

por João Gabriel

gpt-4ClaudeGemini+1
(0)
0 vendas
R$ 49,90
Fluxo da exploração: credencial estática hardcoded no appliance e como foi extraída como zero-day.
Segurança

ADR de eliminação de credenciais estáticas: blindagem contra zero-day de credencial com rotação automática (pacote multi-arquivo de engenharia de prompt)

por João Gabriel

gpt-4ClaudeGemini
(0)
0 vendas
R$ 49,90
Fluxo do ataque de supply-chain via npm (incidente Keyv, ago/2026) e a superficie de governanca.
Segurança
01 / 02

ADR de Supply-Chain Seguro: Governança Zero-Trust de Dependências + Runbook de Resposta a Pacotes Envenenados (npm/ecossistemas)

por João Gabriel

gpt-4ClaudeGemini
(0)
0 vendas
R$ 59,90
Cadeia de ataque agêntico: dataset malicioso → code-exec → movimento lateral → impacto (datasets/credenciais), com lições da disclosure da Hugging Face (jul/2026).
Segurança
01 / 03

Pacote de Remediação: Defesa de Plataformas IA/ML contra Ataques Agênticos (ADR + Runbook IR + Matriz de Controles)

por João Gabriel

GPT-4oclaude-sonnet-4gemini-2.5-pro
(0)
0 vendas
R$ 49,90
Cadeia de ataque do zero-day SQLi: atacante sem autenticação -> injeção SQL -> elevação a admin -> roubo de credenciais e exfiltração de dados.
Segurança
01 / 03

ADR de resposta a zero-day: contencao, correcao e recuperacao de vulnerabilidade critica em componente self-hosted (pacote multi-arquivo)

por João Gabriel

gpt-4ClaudeGemini
(0)
0 vendas
R$ 49,90