Circuit Breaker
Circuit Breaker com Resilience4J
10-15 min
Circuit Breaker com Resilience4J
O padrão Circuit Breaker é essencial para gerenciar a resiliência em arquiteturas de microsserviços. O Resilience4J é uma biblioteca leve e funcional que implementa esse padrão, além de outros padrões de resiliência.
1. Configuração Básica
1.1 Adição das Dependências
<dependency>
<groupId>io.github.resilience4j</groupId>
<artifactId>resilience4j-spring-boot3</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
1.2 Configuração do Circuit Breaker
# application.yml
resilience4j:
circuitbreaker:
instances:
productService:
slidingWindowSize: 10
failureRateThreshold: 50
waitDurationInOpenState: 5000
permittedNumberOfCallsInHalfOpenState: 3
eventConsumerBufferSize: 10
ratelimiter:
instances:
productService:
limitForPeriod: 100
limitRefreshPeriod: 1s
timeoutDuration: 0
retry:
instances:
productService:
maxAttempts: 3
waitDuration: 100
enableExponentialBackoff: true
exponentialBackoffMultiplier: 2
exponentialBackoffMaxDuration: 600
retryExceptions:
- org.springframework.web.client.RestClientException
Comentários
Os comentários são alimentados pelo GitHub Discussions
Conecte-se com o GitHub para participar da discussão