본문 바로가기
Spring/Spring Cloud

Spring Open Feign

by 아이티.파머 2022. 1. 14.
반응형

선언적 REST 클라이언트 이다. Feign 은 JAX-RS 또는 Spring MVC 의 주석을 이용하여 다이나믹하게 인터페이스를 구성,구현 할 수있다.

기존 RestTemplat을 사용해서 작업 했더라면 다음과 같은 이유로 Nexflix 에서는 Feign 을 개발하여 사용하였다.

  • 좀더 공통적인 개발과 쉬운 API 호출을위함
  • MSA 환경에서는 서버가 자동으로 생성되고 삭제됨으로 인해 서버 엔드포인트의 변경.
  • Ciruit Breaker 대한 처리
  • fallback 에 대한 처리

로드벨런싱된 http 클라이언트를 제공하기 위해 Eureka, Spring Ciruit Breaker, Spring LoadBalancer 를 통합함. (통합한다는 뜻은 사용한다는 의미 같다.)

 ⚠️ Spring MVC 에서는 동작되나 Spring WebFlux는 공식적으로 지원하지 않는다. 좀더 정확히 말하자면, Non-blocking 에서는 지원하지 않고 별도로 non-blocking 용 feign project가 있다.

 

 

반응형