Skip to content

Circuit Breaker

  • Return a fallback response if a service is down or slow
  • Example: return a default set of products if the catalog service is down

  • Circuit Breaker Framework: Resilience4j (former hystrix)

  • Spring AOP and Spring Actuator are required
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-aop</artifactId>
</dependency>

<dependency>
  <groupId>io.github.resilience4j</groupId>
  <artifactId>resilience4j-spring-boot2</artifactId>
</dependency>

Circuit Breaker States

  • Closed: normally process all the requests
  • Half-Closed: normally process a percentage of the requests
  • Open: directly return the fallback response