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

박수현님의 프로필 이미지

작성한 질문수

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

Users Microservice에 CircuitBreaker 적용

Circuit breaker와 ErrorDecoder 동시 사용

22.10.29 17:24 작성

·

297

0

강사님 안녕하세요? 강의 너무 잘 듣고 있습니다.

 

Feign Client 강의에서 ErrorDecoder를 추가하여 try-catch문을 사용하지 않고, HTTP 에러 코드 별 처리 방법을 별도로 분리했었는데요.

이번 강의에서처럼 Circuit breaker를 사용하면 API 호출 시 발생하는 모든 오류 상황에 대해 fallback 값이 전달되기 때문에 ErrorDecoder는 별도로 필요하지 않을 것 같습니다.

  1. 외부 API 호출하는 모든 케이스에서 circuit breaker를 사용한다면 ErrorDecoder는 불필요한 것이 맞나요?

  2. circuit breaker와 error decoder가 둘 다 필요하다고 한다면, error decoder은 어떤 역할을 할 수 있나요?

 

항상 감사드립니다.

답변 1

0

이지현님의 프로필 이미지

2024. 09. 28. 00:57

저도 비슷한 상황에 둘 모두를 사용하고 있어 도움이 될것 같아 댓글남깁니다.

먼저 decoder로는 feign client 호출 후 response 의 http status 로 저만의 커스텀한 처리를 하고 있습니다. (커스텀 예외로 만들어 발생시킵니다)

이후, circuit breaker 가 한번 더 동작하게 되는 구조입니다. (강의에서 설명해주신 기능이 아닌 @Circuitbreaker 를 사용하는데요)

작성하다보니 커스텀 예외를 발생하고 싶고+특정 조건에는 차단기를 두고싶은 상황입니다. 일반적이진 않아 보여서, 원래 질문자분과 강사님의 의견도 궁금합니다.