인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

infbackends님의 프로필 이미지

작성한 질문수

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

Users Microservice에 CircuitBreaker 적용

Resilience4J CircuitBreaker 관련되어 질문드립니다.

작성

·

447

0

Resilience4J CircuitBreaker 활용 관련하여 feign client를 사용시 circuitBreaker의 run 메서드를 활용하여 보여주셨는데,

 

gateway-service에서 user-service로 route시에 user-service 모듈에서 일정시간 이상 응답이 안오는 경우에

Resilience4J 를 적용 할 수 있나요?

 

감사합니다!

답변 1

0

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다.

apigateway-service에서 Resilience4j를 Bean으로 등록한 다음, Filter로 사용할 수 있습니다.

@Bean
public Customizer<ReactiveResilience4JCircuitBreakerFactory> defaultCustomizer() {
    return factory -> factory.configureDefault(id -> new Resilience4JConfigBuilder(id)
            .circuitBreakerConfig(CircuitBreakerConfig.ofDefaults())
            .timeLimiterConfig(TimeLimiterConfig.custom().timeoutDuration(Duration.ofSeconds(4)).build()).build());
}
routes:
    - id: user-service
      uri: lb://USER-SERVICE
      predicates:
      - Path=/users/**
      filters:
        - name: CircuitBreaker
          args:
            name: user-service
            fallbackuri: forward:/fallback/users

 

감사합니다.