Promoção no ar
Tempo restante da oferta:
00 Horas
45 Min
22 Seg
Assinar →

O que é Circuit Breaker?

A ação de usuários disparam diversos serviços que podem falhar ou ficar indisponíveis. Conheça neste artigo o Circuit Breaker e como ele nos auxilia nesse quesito.

Marylene Guedes 6 anos atrás

No artigo sobre microsserviços, vimos a quantidade de vantagens que ele possui, como o baixo acoplamento, reuso de código e a agilidade no desenvolvimento. Mas, como a ação dos usuários disparam diversos serviços separadamente, falhas nas chamadas das cadeias de serviço podem acontecer. Afinal, como lidar com momentos onde um ou mais serviços ficam indisponíveis? Confira neste artigo o Circuit Breaker.

O que é Circuit Breaker?

É um padrão de projeto que permite construir serviços que sejam tolerantes a falhas, permitindo que uma aplicação lide com eventuais indisponibilidades nos serviços adjacentes. O termo Circuit Breaker em português significa “disjuntor elétrico”.

Este padrão prevê a implementação de uma estrutura que atue igual a um disjuntor elétrico, desarmando comportamentos de uma aplicação quando elementos envolvidos comecem a apresentar muitas falhas e/ou indisponibilidade.

Com sua utilização, é possível garantir um desempenho estável principalmente com relação às integrações entre microsserviços, onde podemos monitorar falhas e fornecer um serviço alternativo ou mensagem de erro mais acessível.

Estados

O Circuit Breaker tem 3 estados distintos:

• Closed: este é o seu estado normal. Ele permanecerá fechado, ou seja, ele permitirá a passagem de fluxos de dados normalmente;

• Open: neste estado, ele “abre” o circuito de comunicação entre estruturas (como outros microsserviços ou até mesmo outras estruturas dentro de um mesmo microsserviço). Assim como em um circuito elétrico aberto, onde a energia deixa de fluir, um microsserviço que fique com o circuit breaker aberto deixará de operar o fluxo que for afetado por ele, passando a retornar uma mensagem de erro ou mesmo passando a executar fluxos de emergência;

• Half-Open: depois de um período com o circuito aberto, seu estado pode ser alternado para half-open. Isso ocorre como um mecanismo de recuperação, pois enquanto o circuit breaker está neste estado, o próprio avaliará se o fluxo ainda continua em estado de falha ou se já foi reestabelecido através de uma sequência de verificações. Se uma única chamada falhar nesse estado semi-aberto, o circuit breaker abrirá novamente. Caso as chamadas voltem a ser feitas com sucesso, o circuit breaker irá fechar o circuito novamente, retornando ao estado normal.

Considerações finais…

Este padrão pode nos ajudar muito em problemas associados à disponibilidade e capacidade de resposta ao se comunicar remotamente com microsserviços. Isso certamente irá aumentar significativamente o desempenho e a capacidade de resposta em seu aplicativo de microsserviços (ou qualquer outro tipo de aplicação principalmente remoto).

Continue lendo

Artigos relacionados

Um ano de acesso total para você viver de programação.

Todos os cursos e formações da TreinaWeb numa única assinatura, com professores que atuam no mercado, suporte direto e certificados. Do primeiro console.log ao mercado de trabalho.

  • 1 ano de acesso a todos os cursos
  • Cursos novos toda semana
  • Suporte direto com professores
  • Plano de carreira personalizado
  • Certificados digitais inclusos
  • Aplicativos para Android e iOS, com acesso offline
Garantia incondicional de satisfação

Teste por 7 dias e, se não fizer sentido para você, devolvemos seu dinheiro.

Acesso completo a todos os cursos e dezenas de Formações.

12 meses
Economize R$ 840,00 54% OFF

de 12x R$ 129,00 por apenas

12x R$ 59,00

sem juros no cartão de crédito ou R$ 599,00 à vista

Oferta termina em 00h 45min 22s

  • Acesso imediato e ilimitado durante 1 ano.
  • Plano de carreira personalizado.
  • Suporte direto com professores.
  • E muito mais!
Matricule-se agora