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를 사용할것을 강력히 권고하고 있다.