0%
Circuit Breaker com Resilience4J

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

Link copiado!