Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Comportamento circuit breaker

Ao implementar o fallback method, assim que chamamos o /pagamentos/{id}/confirmar e o micro serviço de pedidos está fora, é salvo o pagamento com status CONFIRMADO_SEM_INTEGRACAO. Porém, configuramos o circuit breaker para um determinado número de requisições para se tornar aberto, o comportamento "ideal" não seria tentar fazer esse número de requisições antes de chamar o fallback?

Pensei nisso pois em um cenário real por exemplo, com mais de uma instância no servidor, a primeira instância vai atualizar o status do pagamento para CONFIRMADO_SEM_INTEGRACAO e a segunda instância que deveria tentar chamar o micro serviço de pedidos, não vai chamar e vai salvar tambem com o status CONFIRMADO_SEM_INTEGRACAO.

2 respostas

Olá Gabriel,

Entendo sua dúvida. Na verdade, o comportamento do circuit breaker é justamente para evitar que o sistema fique tentando fazer requisições que possam falhar e prejudicar a performance do sistema como um todo.

Quando o circuit breaker é acionado, ele passa a retornar imediatamente o fallback method, sem tentar fazer novas requisições. Isso é feito para evitar que o sistema fique em um loop infinito de tentativas de requisição.

No seu caso, o fallback method está funcionando corretamente, pois ele está salvando o pagamento com o status CONFIRMADO_SEM_INTEGRACAO, o que indica que houve uma falha na integração com o micro serviço de pedidos.

Quanto à questão das instâncias, é importante que o circuit breaker esteja configurado para todas as instâncias do servidor, para que todas elas sigam o mesmo comportamento em caso de falha na integração.

Espero ter ajudado e bons estudos!

solução!

Matheus Brandino, entendi, muito obrigado!