Spring - FeignClient vs WebClient

yeongjin·2024년 1월 28일

📒 FeignClient vs WebClient

📌 Spring에서 다른 서버에 API 호출하기

개발하는 Spring 서버에서 다른 서버에 api를 요청해야 할 일이 있다면, 아래와 같이 여러가지 방법이 있다.

HttpClient는 너무 low level이고, RestTemplate은 Spring 5.0부터 legacy library로 간주됬기 때문에 제외하겠다.
이 포스트에서는 주로 사용되는 FeignClient와 WebClient에 대해서만 다룰 것이다. FeignReactive는 FeignClient를 WebClient처럼 비동기방식으로 처리하기 위해 만들어진 비공식 라이브러리이다.


📌 reactive programming

reactive programming이란 데이터의 흐름에 초점을 맞춰 개발하는 방식이다. 데이터를 비동기적으로 처리하고, 이벤트 기반 아키텍처를 이용해 실시간으로 데이터의 변화에 반응할 수 있게 프로그래밍하는 것이라 보면 된다.


📌 FeignClient vs WebClient

간단히 생각한다면 api 요청을 동기/비동기로 처리할 것인지에 따라 선택하자.
비동기 요청, 즉 reactive programming 방식을 따를 것이라면 WebClient를 사용하자.
하지만 굳이 그럴 필요없이 동기 요청을 할 것이라면 FeignClient를 쓰는 쪽이 더 간단할 것이다.

0개의 댓글