Circuit Breaker
Circuit Breaker avec Resilience4J
10-15 min
Circuit Breaker avec Resilience4J
Le pattern Circuit Breaker est essentiel pour gérer la résilience dans les architectures microservices. Resilience4J est une bibliothèque légère et fonctionnelle qui implémente ce pattern, ainsi que d'autres patterns de résilience.
1. Configuration de Base
1.1 Ajout des Dépendances
<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 Configuration du 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
Commentaires
Les commentaires sont alimentés par GitHub Discussions
Connectez-vous avec GitHub pour participer à la discussion