Boa noite pessoal, estou implementando em outra API que fiz e o fallback é acionado logo na primeira requisição, mas eu estava achando que ele seria acionado apenas depois de realizar as tentativas limites (no caso 3).
Boa noite pessoal, estou implementando em outra API que fiz e o fallback é acionado logo na primeira requisição, mas eu estava achando que ele seria acionado apenas depois de realizar as tentativas limites (no caso 3).
Olá, Diogo!
Entendo que você esteja com dúvidas sobre o funcionamento do fallback no circuit breaker. No contexto do Resilience4J, que é o que estamos utilizando no curso, o fallback é acionado quando ocorre uma exceção durante a chamada do método protegido pelo circuit breaker.
Isso significa que o fallback será acionado na primeira falha, não necessariamente após um número específico de tentativas. O circuit breaker, por sua vez, abre (ou seja, bloqueia as chamadas ao método protegido) após um certo número de falhas, conforme configurado.
Para exemplificar, imagine o seguinte cenário: você configurou o circuit breaker para abrir após 3 falhas. Na primeira chamada ao método protegido, ocorre uma falha. Nesse momento, o fallback é acionado. Na segunda chamada, ocorre outra falha e o fallback é acionado novamente. Na terceira falha, o fallback é acionado e o circuit breaker abre, bloqueando as chamadas subsequentes ao método protegido.
Espero que isso esclareça sua dúvida! Lembre-se, o fallback é a ação que tomamos quando algo dá errado na chamada do método protegido, enquanto o circuit breaker é uma estratégia para prevenir que um grande número de chamadas falhe, abrindo após um certo número de falhas e fechando novamente após um certo tempo.
Espero ter ajudado e bons estudos!