Circuit breaker: quando um serviço externo cai, o seu não precisa cair junto
O serviço de frete caiu e, junto com ele, o checkout inteiro. O padrão circuit breaker impede que uma falha externa derrube o seu sistema.
Por Equipe We Codex3 min de leitura
Sistemas modernos dependem de serviços externos: pagamento, frete, mensageria, IA, ERP. Quando um deles fica lento ou cai, as requisições do seu sistema ficam esperando, os recursos se esgotam e, de repente, tudo está fora do ar.
A ideia do disjuntor
Como o disjuntor elétrico, o circuit breaker "desarma" quando detecta muitas falhas seguidas:
- 1.Fechado: tudo normal, as chamadas passam.
- 2.Aberto: depois de muitas falhas, as chamadas param imediatamente, sem esperar o serviço — e o sistema usa uma alternativa.
- 3.Meio aberto: após um tempo, algumas chamadas de teste verificam se o serviço voltou.
Por que funciona
Em vez de cada requisição esperar 30 segundos por um serviço morto, ela falha em milissegundos e segue um plano B. O sistema principal continua respondendo.
Planos B possíveis
- Frete: tabela de preço padrão ou "calcularemos no próximo passo".
- Recomendações: produtos mais vendidos.
- IA: resposta padrão ou encaminhamento para humano.
- Pagamento: mensagem clara para tentar novamente em instantes.
É a lógica da Degradação graciosa: funcionar pela metade é melhor que sair do ar.
Peças que andam juntas
- Timeouts curtos e bem definidos (Timeouts: a configuração esquecida que derruba sistemas).
- Retentativas com backoff — mas nunca contra um circuito aberto (Gerenciando o erro 429 Too Many Requests: exponential backoff e retry no cliente).
- Monitoramento dos estados do circuito (Observabilidade para quem não é SRE: métricas, logs e traces).
A We Codex constrói integrações resilientes em sistemas web. Fale com a gente.
- Circuit breaker
- Resiliência
- Integrações
- Backend
Resolver de vez, com quem faz isso todo dia
Quer saber quão exposto está o seu sistema hoje?
Este artigo mostra o caminho. A implementação sob medida — o detalhe que muda o resultado no seu caso — é o trabalho da We Codex, empresa de engenharia do grupo Wocom.
Continue lendo
Tudo sobre Segurança- Ler artigo
Segurança3 min
Timeouts: a configuração esquecida que derruba sistemas
Uma chamada a um serviço externo sem limite de tempo pode esperar para sempre — e levar o seu sistema junto. Por que timeouts são configuração obrigatória.
- Ler artigo
Segurança3 min
Degradação graciosa: funcionar pela metade é melhor que sair do ar
Quando uma parte do sistema falha, o resto pode continuar funcionando. Degradação graciosa é planejar o que o usuário vê quando algo dá errado.
- Ler artigo
Segurança3 min
Gerenciando o erro 429 Too Many Requests: exponential backoff e retry no cliente
Seu app recebe 429 e responde tentando de novo imediatamente — piorando tudo. Veja como implementar exponential backoff com jitter e dar um feedback decente ao usuário.