inflearn logo
강의

Course

Instructor

Implementing a Spring Boot-based API template project to improve productivity

Spring Cloud OpenFeign (1)

OpenFeign을 어떤 상황에서 어떻게 사용하는지 감이 안옵니다...

216

service

26 asked

0

OpenFeign을 어떤 상황에서 어떻게 사용하는지 감이 안옵니다... 단 한번도 프로젝트를 진행하면서 사용해본적이 없는 기술이여서 감이 와닿지 않는데 어떤 상황에서 유용하게 쓸 수 있는 기술인걸까요??

spring-boot jpa web-api

Answer 2

1

bgh79465479

안녕하세요! 실제 서비스를 만들다보면 외부 API를 사용하는 경우가 많습니다. 예를 들어서 뒤에서 구현하는 소셜 로그인의 경우도 카카오 API를 호출해야하기 때문에 feign client를 통해서 API를 요청하고 응답을 받아서 활용합니다. 실무에서는 타회사와 협업을하게 된다면 타 회사가 제공하는 API를 호출해야하는 케이스도 빈번하구요! 규모가 어느정도 되는 회사라면 단일 어플리케이션이 아니라 도메인별로 서버도 분리되어 있는 경우가 많은데 그럴 경우 내부 서버간 통신에도 활용합니다.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 박철현님.

OpenFeign은 마이크로서비스 아키텍처에서 서로 다른 서비스 간의 통신을 간단하게 처리할 수 있게 해주는 HTTP 클라이언트입니다. 이를 통해 RESTful 서비스를 호출할 수 있으며, 서비스 간의 의존성을 낮출 수 있습니다. OpenFeign은 선언적으로 HTTP 요청을 생성할 수 있도록 도와주어, 코드의 가독성과 유지보수성을 향상시킵니다.

구체적으로 OpenFeign을 사용하면 다음과 같은 상황에서 유용합니다:

  1. 서비스 간 통신을 간소화할 때: 마이크로서비스 구조에서 다수의 서비스가 서로 통신해야 할 때 요청 처리를 간소화합니다.

  2. 복잡한 HTTP 클라이언트 설정을 피하고 싶을 때: 기존의 RestTemplate이나 WebClient를 사용할 때보다 단순한 설정으로 HTTP 요청을 만들어냅니다.

  3. 코드의 일관성과 가독성을 올리고 싶을 때: 명확한 인터페이스 기반으로 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