0%
Circuit Breaker avec Resilience4J

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

Lien copié !