WebClient란?
WebClient란?
webClient는 spring 5에서 부터 등장한 HTTP 클라이언트 라이브러리이다.
여기서 말하는 HTTP 클라이언트라고 하는 것은 HTTP 프로토콜을 이용하여 서버와 통신하는 것을 의미
==> 즉, 서버에 API 요청을 보내는 주체이며 다른 서버와 통신하기 위해 사용한다.
WebClient가 등장하기 이전까지는 spring에서 자주 사용되던 HTTP 클라이언트로 restTemplate 사용.
WebClient가 등장한 이후로는 WebClient의 사용을 권장하고 있습니다.
RestTemplate과 비교했을 때 WebClient가 가지는 장점들은 다음과 같이 있습니다.
- 비동기적으로 요청하는 non-blocking 처리 방식
- 요청을 보내고 응답을 받을 때까지 대기하지 않기 때문에 처리 속도가 빠름
- 비동기 처리 방식으로 인해 대용량 처리를 할 때 용이함
정리
공통점은 둘 다 HttpClient 모듈이다.
차이점은 통신방법이 resttemplate은 Blocking방식이고,
WebClient는 Non-Blocking방식이다.
1000명까지는 비슷하지만 동시사용자가 늘어날수록 resttemplate은 급격하게 느려진다.
Spring 커뮤니티에서는 RestTemplate을 이미 Depreciated 되었다.
WebClient를 사용할것을 강력히 권고하고 있다.