- Spring WebClient : 웹에서 API를 호출하기 위한 Http Client 모듈 중 하나
1) 특징
- Single thread : 코어 당 스레드 하나
- non-blocking : 자신의 일을 모두 마치지 않더라도 바로 제어권을 건네주어(return) 다른 일을 할 수 있도록 함.
- asynchronous : 호출된 함수의 수행 결과 및 종료를 호출된 함수 혼자 처리.
2) 동작 방식

- 각 요청(request)은 Event Loop 안에서 Job으로 등록된다.
- Event Loop는 각 Job을 publisher에게 요청한 후, 결과를 기다리지 않고 다른 Job을 처리.
- publisher로 부터 callback으로 응답이 오면 Event Loop는 그 응답을 Subscriber에게 보낸다.
- 이렇듯, 이벤트 반응형으로 동작한다. --> Spring React 프레임워크 사용하며 React Web 프레임워크인 Spring WebFlux에서 Http Client로 사용.
3) RestTemplate 과의 성능 비교

-> 그림과 같이 동시 사용자의 규모에 따라 rest template를 사용해도 좋으나 Spring 커뮤니티에선 이미 Depreciated 시키고 Web Client를 사용할 것을 권고 함.