As we already mentioned in Chapter 1, Introduction to Microservices, in the Circuit breaker section, things go wrong occasionally. In a fairly large-scaled system landscape of cooperating microservices, we must assume that there is something going wrong all of the time. Failures must be seen as a normal state, and the system landscape must be designed to handle it!
Initially, Spring Cloud came with Netflix Hystrix, a well-proven circuit breaker. But since the Spring Cloud Greenwich release, it is recommended to replace Netflix Hystrix with Resilience4j. The reason for this is that Netflix recently put Hystrix into maintenance mode. For more details, see https://github.com/Netflix/Hystrix#hystrix-status.
Resilience4j is an open source-based fault tolerance library. You can discover more...