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

윤지수님의 프로필 이미지
윤지수

작성한 질문수

장애 없는 서비스를 만들기 위한 Resilience4j - CircuitBreaker

slow call 관련 옵션을 무시할 수 있나요?

해결된 질문

작성

·

120

1

slow call 관련 옵션 설정이 필수인 것 같은데 해당 옵션은 무시하도록 설정하는 방법이 있나요?

외부 api 호출 구간에서 500 에러가 발생할 때만 서킷 동작하게 하고 싶은데 옵션을 끄는 기능은 따로 제공이 되지 않은 것 같습니다.

 

api 호출 시 어차피 지연되면 read time out, connection time out 등이 발생하면서 500에러를 내려 줄 거라 slow 옵션은 무시하고 싶은데 따로 방법이 있을까요?

 

제가 못 찾는 것일 수도 있지만 slow call exceed 이벤트가 발생할 때 일어나는 exception 이 따로 있는 것 같지 않아 ignoreException 으로 등록하는 것도 어려운 것 같습니다.

 

혹시 방법이 있는지 궁금합니다.

답변 1

0

이준형(Foo)님의 프로필 이미지
이준형(Foo)
지식공유자

윤지수님 안녕하세요~

질문 남겨주셔서 감사합니다.

 

말씀하신대로 Resilience4j 에서는 slow call 관련 옵션이 필수인걸로 저도 알고 있습니다.

따라서 말씀하신 것처럼 slow call에 의해서 서킷 상태가 영향을 받지 않고 싶다면 slowCallDurationThreshold 값을 매우 크게(기본값은 60초입니다) 잡으시면 될 것 같습니다.

 

말씀해주신 것처럼 timeout시 발생하는 예외를 핸들링하는게 일반적으론 더 효율적인 방법일 것 같습니다~

 

또 궁금한 내용 있으면 질문 남겨주세요.

감사합니다. (_ _)

윤지수님의 프로필 이미지
윤지수

작성한 질문수

질문하기