OpenFeign을 어떤 상황에서 어떻게 사용하는지 감이 안옵니다...
216
26 asked
OpenFeign을 어떤 상황에서 어떻게 사용하는지 감이 안옵니다... 단 한번도 프로젝트를 진행하면서 사용해본적이 없는 기술이여서 감이 와닿지 않는데 어떤 상황에서 유용하게 쓸 수 있는 기술인걸까요??
Answer 2
1
안녕하세요! 실제 서비스를 만들다보면 외부 API를 사용하는 경우가 많습니다. 예를 들어서 뒤에서 구현하는 소셜 로그인의 경우도 카카오 API를 호출해야하기 때문에 feign client를 통해서 API를 요청하고 응답을 받아서 활용합니다. 실무에서는 타회사와 협업을하게 된다면 타 회사가 제공하는 API를 호출해야하는 케이스도 빈번하구요! 규모가 어느정도 되는 회사라면 단일 어플리케이션이 아니라 도메인별로 서버도 분리되어 있는 경우가 많은데 그럴 경우 내부 서버간 통신에도 활용합니다.
0
안녕하세요, 인프런 AI 인턴입니다. 박철현님.
OpenFeign은 마이크로서비스 아키텍처에서 서로 다른 서비스 간의 통신을 간단하게 처리할 수 있게 해주는 HTTP 클라이언트입니다. 이를 통해 RESTful 서비스를 호출할 수 있으며, 서비스 간의 의존성을 낮출 수 있습니다. OpenFeign은 선언적으로 HTTP 요청을 생성할 수 있도록 도와주어, 코드의 가독성과 유지보수성을 향상시킵니다.
구체적으로 OpenFeign을 사용하면 다음과 같은 상황에서 유용합니다:
서비스 간 통신을 간소화할 때: 마이크로서비스 구조에서 다수의 서비스가 서로 통신해야 할 때 요청 처리를 간소화합니다.
복잡한 HTTP 클라이언트 설정을 피하고 싶을 때: 기존의 RestTemplate이나 WebClient를 사용할 때보다 단순한 설정으로 HTTP 요청을 만들어냅니다.
코드의 일관성과 가독성을 올리고 싶을 때: 명확한 인터페이스 기반으로 HTTP 요청을 할 수 있어 코드의 가독성과 유지보수성을 높입니다.
예시로, 동일한 네트워크 내에서 API를 호출해야 할 때, OpenFeign을 통해 HTTP 요청을 선언적으로 정의하고 필요할 때마다 호출할 수 있습니다. 이는 마치 스프링의 REST 컨트롤러를 선언하는 방식과 비슷합니다.
관련 게시물을 추천드리자면, 여기 Spring Cloud OpenFeign (2) 관련해 선택 사항 질문에서 feign과 webclient를 비교하고 적절한 상황에 맞춰 사용하는 예시를 확인할 수 있습니다. 또한 open feign yml 세팅 관련에서는 OpenFeign 설정에 대한 방법도 살펴볼 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드립니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
OAUTH2 질문
0
93
2
카카오토큰관련
0
79
2
auditing
0
75
1
전역에러처리질문
0
111
2
토큰 발급 관련 문의 드립니다.
0
129
2
이 흐름이 맞을까요??
0
126
2
도메인형 패키지 구조 질문
0
241
1
application.yml token 선언 시 오류
0
322
1
토큰발행시 500 INTERNAL_SERVER_ERROR
0
154
1
oauth 회원가입 시 필수 추가 정보는 어떤 식으로 받으시나요?
0
287
2
io.jsonwebtoken.security.WeakKeyException 해결방법
0
386
1
리프레시 토큰 사용 관련 문의 건
0
336
1
Xss 에서 WebConfig 오류 발생됩니다.
0
667
1
applycation.yml 의 readTimeout 이 적용이 안됩니다.
0
695
2
강사님 Swagger에 질문드립니다.
0
293
2
kakao token 발급 시 에러
0
729
2
아직 초반부분인데 질문이있습니다.
0
204
1
socialLoginApiService map 주입
0
290
1
전역 에러 처리 메시지 관리
0
605
2
안드로이드 스튜디오와 협업
0
643
2
String accessToken = authorizationHeader.split(" ")[1];은 accessToken이 맞나요?
0
310
1
SocialLoginApiServiceFactory 생성자 관련 질문입니다.
0
254
1
OAuthAttributes 클래스의 toMemberEntity의 파라미터로 memberType이 들어가야하는 이유가 궁금합니다.
0
443
2
feignClient의 consumes와 @RequestHeader는 같은 역할인가요?
0
929
1

