...
Det är viktigt att ha i åtanke att en “circuit-breaker” reagaerar på alla typer av exceptions som inte är exkluderade via propertyn ignoreExceptions
. Av den anledningen är det viktigt att särskilja på exceptions som beror på rena indata-fel (som inte betyder att resursen har problem) och på de exceptions som tyder på att tjänsten har problem.
Ex:
Code Block |
---|
resilience4j.circuitbreaker.instances.MyFeignClient.ignoreExceptions = javax.validation.ConstraintViolationException |
I den Feign-klient som erbjuds av dept44 har finns två nya subklasser av “Zalando Problem” införts:se.sundsvall.dept44.exception.ClientProblem
: Kastas när Feign-klienten tar emot ett svar med HTTP-status i 400-serien. Dessa brukar vanligtvis bero på fel orsakade av felaktiga parametrar och betyder vanligtvis inte att tjänsten ligger nere.se.sundsvall.dept44.exception.ServerProblem
: Kastas när Feign-klienten tar emot ett svar med HTTP-status i 500-serien. Dessa brukar vanligtvis bero på att tjänsten har problem.
Använder man nämnda Feign-klient kan det alltså vara bra att ignorera exceptions av typen se.sundsvall.dept44.exception.ClientProblem
(se exempel ovan). Gör man inte detta bör man tillse att man har en egen mekanism på plats för att uppnå samma sak. Annars kommer kretsen att bryta för t.ex. enkla “HTTP-400 Bad request”-fel, vilket sannolikt inte är önskvärt.
Denna property har inga default-värden, eftersom det är upp till varje tjänst att själv styra vilka exceptions som skall undantas.
Viktiga endpoints
Path | Beskrivning | Exempel | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
/actuator/health | Här visas alla health-indicators och deras aktuella status (hälsovärde). |
| |||||||||
/actuator/circuitbreakerevents | De senaste [n] resultaten av anrop som övervakas av en CircuitBreaker. Denna endpoint kan vara bra att använda när man vill se orsaken till att en krets öppnats och en health-indicator rapporterar “DOWN”. |
| |||||||||
/actuator/circuitbreakers | Listar alla registrerade circuitbreakers i applikationen. |
|
...