본문 바로가기
MSA

feign client란?

by 오렌지마끼야또 2022. 12. 6.
728x90
반응형

 

 

 

 

 

현재 프로젝트에서 MSA 도메인 간 통신으로 Feign Client 를 사용하고 있다.

 

HTTP Client Java Library 의 종류는

- HttpURLConnection

- Apache Commons HttpClient

- Apache HttpComponents

- Retrofit

- RestTemplate   Synchronous, Blocking 방식

- feign client        Synchronous, Blocking 방식

- WebClient         Asynchronous, NonBlocking 방식

 

등등 여러가지가 있는데

스프링으로 개발 시에 RestTemplate을 가장 많이 사용한다고 한다.

 

하지만 Spring 5.0 이후 RestTemplate는 더 이상 사용되지 않는다고 한다.

spring docs에서는 다른것으로 바꾸라고 권장 하고 있다. 그렇다고 못쓰는건 아니지만

필요에 따라 WebClient 나 OpenFeign 으로 변경하는 곳이 있는 것 같다.

 

feign client 는

- Netflix에서 RestTemplate보다 효율적인 통신을 위해 만든 것이다.

- HTTP client binder로서 기존 http client 작성을 쉽게 만들어주는 라이브러리이다.

- interface를 작성하고 annotation을 붙여주면 세부적인 내용 없이 사용할 수 있기 때문에 코드 복잡도가 낮아진다.

는 장점이 있다.

 

 

 

 

 

 

참고

 

https://kdhyo98.tistory.com/33

 

https://ryumodrn.tistory.com/12

 

https://oingdaddy.tistory.com/280

 

https://brunch.co.kr/@springboot/202

 

 

 

 

728x90
반응형

댓글