웹클라이언트!!
공식 API 문서는 다음과 같다.
암만 한글이 좋아도 우선 영어 원문… API문서의 헤드 부분만이라도 보자.

논블럭킹 I/O인 반응형 HTTP클라이언트이고, 뭐 빠르고 유창하고 어쩌구저쩌구……
여기서 핵심은 ‘논블럭킹’ 이다.
Non-Blocking I/O
서버개발자에게 필수 덕목인 ‘어렵고 반응속도가 빠른’ 개발방법이다. 기존의 RestTemplate은
‘멀티스레드이긴 하지만 블로킹 I/O방식’ 이다.
RestTemplate를 이용해 HTTP request를 날리면, HTTP response가 올 때까지 계속 기다린다(블로킹)는 뜻이다.
긴말 필요없이 당연히 수행속도가 느리겠다. HTTP request 시점부터 response 가 올때까지 하염없이 기다려야 하기 때문…
그래서 WebClient라는, 쓸데없는 리소스 점유율을 낮추는 라이브러리를 Spring 5.0에서부터 제공해 준다.
사용법
https://www.baeldung.com/spring-5-webclient
기타 특이사항
- 선언형 스타일로 작성 가능
- (당연하지만) Connection timeout 설정 가능.
- (당연하지만) request Header 설정 가능.
- retrive 와 exchange로 response 핸들링 취사선택
- retrive
- 간단간단
- exchange
- 복잡복잡
- retrive
retrive vs exchange


Mono vs Flux
pub/sub 구조에서의 publish를 한번만 처리할 것이냐, 여러번 처리할 것인가의 차이를 갖는다.
단적인 예로 reduce 연산자는 Mono를 리턴하고, 두개의 Mono를 mergeWIth 연산을 통해 나오는 결과는 Flux을 리턴한다.