inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

ErrorDecoder를 이용한 예외 처리

FeignClient 에러 처리에 대한 ErrorDecoder와 try~catch 문 비교

966

slr과르

작성한 질문수 10

0

안녕하세요.

강의 잘 듣고 있습니다.

앞선 강의에서 FeignClient를 통한 MSA 서버간 호출시, 1) try~catch 문을 통해 해당 MSA 호출만 에러가 발생했을 경우에 대한 방법과 2)ErrorDecoder를 통한 response Status 별로 에러를 발생 시키는 방법에 대하여 알려주셨습니다.

 

MSA 서버간 호출 시 에러가 발생했을 경우 1)번과 같이  try~catch 문을 통해 해당 MSA서버 호출에 대한 에러를 처리할 경우, 에러난 부분을 제외한 나머지 부분은 정상 응답을 주게 되어 전체 서비스에 장애로 전이가 되는 것은 막아주는 것 같아 더 좋은 방법이라고 생각이 됩니다. 

ErrorDecoder를 통한 에러 처리를 하면 전체 API에서 에러가 응답이 되게 되는데 이 방법은 어떤 경우에 사용하는 것이 더 효과적인 가요?

msa Kafka JPA spring-boot spring-cloud architecture

답변 1

0

Dowon Lee

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

문의하신 질문은 에러를 어떻게 핸들링 하는 것이 효율적인지에 대한 내용이라 생각됩니다. 일반적인 방식인 try~catch로 처리하는 것과 에러에 대한 클래스를 정의 것 두가지 다 가능하지만, RestTemplate이 아닌 Feign에서는 기본적으로 4xx, 5xx에 대한 ErrorDecoder를 사용합니다. 그리고 이 기본 ErrorDecoder에서는 모든 에러를 FeignException으로 반환하고 있기 때문에, 필요에 따라서 에러코드를 다른 Exception으로 변경하거나 정밀한 에러 핸들링 필요할 경우 ErrorDecoder를 사용하시면 될 것 같습니다. 

감사합니다. 

kafka 업데이트 강의 듣고 시포요

0

85

1

강의 교안

0

75

1

마이크로서비스간 통신 시, 인증 처리

0

79

1

api gateway 에서 인증 처리

0

66

1

섹션 19 질문드립니다

0

54

1

강의 자료 업데이트

0

84

1

부하분산 강의 섹션

0

57

1

강의자료는 어디에서?

0

72

1

강의 자료는 어디서 다운 받을 수 있나요?

0

110

1

전체 사용자 조회시 오류

0

59

1

혹시 pk 외 별도의 id 를 부여한 이유가 있을까요 ??

0

113

2

학습 방향

0

96

2

카프카 커넥터 사용 목적 문의

0

86

2

kafka 강의

0

109

2

서비스 디스커버리 종류

0

87

2

강의 자료에 대해서 궁금해요

0

117

2

GlobalFilter, LoggingFilter가 동작하지 않습니다.

0

90

2

Kafka Source Connect 버전 에러

0

85

2

소스커넥터는 사용안한 거 맞죠?

0

81

2

강의자료 업데이트 문의

0

96

2

강의에서 BCryptPasswordEncoder 에 역할(5-2)

0

57

1

강의 업데이트 계획이 궁금합니다.

0

113

2

MSA 애플리케이션에 Spring Web과 Spring Data JPA를 사용하는 것이 바람직한지 궁금합니다. (MSA 설계와 관련된 질문입니다)

0

163

2

어떤 것이 업데이트 된 건가요?

0

164

2