작성
·
447
0
Resilience4J CircuitBreaker 활용 관련하여 feign client를 사용시 circuitBreaker의 run 메서드를 활용하여 보여주셨는데,
gateway-service에서 user-service로 route시에 user-service 모듈에서 일정시간 이상 응답이 안오는 경우에
Resilience4J 를 적용 할 수 있나요?
감사합니다!
답변 1
0
안녕하세요, 이도원입니다.
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
감사합니다.