본문 바로가기
Kotlin Spring/Kotlin Spring

WebClient vs OpenFeign vs RestTemplate 비교

by Bill Lab 2026. 1. 1.
반응형

1. 라이브러리 별 권장 선택

Case 권장 라이브러리
신규서비스 또는 MSA 용 Feign or WebClient
조직 생산성 및 표준화 측면 OpenFeign
이벤트 기반, 비동기 스트리밍, 리엑티브 스택 WebClient
레거시 내 Rest Template 사용 중이고 변경이 어려운 경우 RestTemplate

 

2. 라이브 러리별 추가 설명

    1) RestTemplate

        - 이미 끝난 기술(Spring 5부터 Deprecated), 주니어 개발자에게 RestTemplate뿐 아니라 OpenFeign에 대한 이해도 필요 함.

        - 이해가 쉬우며, 디버깅이 단순

        - 동기 블로킹 I/O

        - MSA 환경에서 사용 시 logging, auth, retry 다량 증복 발생 

        - 점진적 제거 대상

   

    2) OpenFeign

        - MSA 표준 interface 계층

        - 생산성, 일관성, 온보딩 속도 상승 기대 가능

        - Anti-Corruptioin Layer(ACL) 구현으로 코드 일관성 증대, 아키텍처 강제 가능(코드 리뷰 비용 감소 가능)

        - 높은 추상화 수준 제공(interface 기반, 테스트 및 mocking 우수

        - auth, logging, retry, timeout 표준화 및 강제 가능

        - 블로킹 I/O

        - 고성능 스트리밍 및 back pressure 지원 안됨

 

    3) WebClient

        - Non-blocking I/O 

        - 동시성측면에서의 고성능, 스트리밍, SSE, Kafka 소비 모델과 궁합이 좋음

        - reactive stack 사용시 이용 추천

        - 디버깅 난이도 증가

        - 개발 조직의 기술이해 성숙도 필요

 

3) 결론

     : 기본 표준으로 OpenFeign 을 추구하면서, 제한적으로 WebClient 를 사용하는 전략을 추천한다.

반응형