작성
·
112
0
OpenFeign을 어떤 상황에서 어떻게 사용하는지 감이 안옵니다... 단 한번도 프로젝트를 진행하면서 사용해본적이 없는 기술이여서 감이 와닿지 않는데 어떤 상황에서 유용하게 쓸 수 있는 기술인걸까요??
답변 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 설정에 대한 방법도 살펴볼 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드립니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.