Pular para o conteudo principal

Circuit Breaker

O que circuit breaker significa, por que parar de insistir às vezes protege mais do que tentar de novo, e quando abrir o circuito faz sentido.

Andrews Ribeiro

Andrews Ribeiro

Founder & Engineer

O que é

Circuit breaker é um mecanismo que para de chamar uma dependência quando ela já está falhando demais.

Em vez de continuar insistindo e empilhando timeout, o sistema “abre o circuito” por um tempo.

Quando importa

Isso importa em integração entre serviços, API externa e qualquer ponto em que uma falha lenta pode contaminar o resto do sistema.

Sem esse freio, cada request pendurado consome mais thread, mais conexão e mais tempo de resposta.

Erro comum

O erro clássico é achar que resiliente sempre significa tentar de novo.

Às vezes, a escolha mais saudável é falhar rápido, degradar e proteger o resto do fluxo.

Exemplo curto

Seu serviço chama um gateway de pagamento.

O gateway começa a responder em 20 segundos ou a dar timeout.

Depois de um limiar de falhas, o circuit breaker abre.

As próximas chamadas nem tentam ir até lá por alguns segundos e seguem outro caminho:

  • resposta degradada
  • fallback
  • erro controlado

Por que ajuda

Circuit breaker evita que uma dependência ruim arraste tudo junto.

Ele não conserta o serviço externo.

Ele só impede que você morra abraçado com ele.

Sistema resiliente não é o que insiste para sempre. É o que sabe quando parar.

Você concluiu este artigo

Continue explorando

Artigos relacionados