Spring Framework 5부터 도입된 non-blocking 리액티브 웹 프레임워크
완전한 Non-Blocking 통신을 위해 리액티브 스택을 데이터 액세스 계층까지 확장하며, R2DBC를 사용
Spring MVC와 달리 Servlet 스레드를 blocking하지 않고 네트워크 I/O를 비동기적으로 처리
Reactive Stream 스펙을 준수하고, Flux와 Mono를 이용하여 대용량 데이터 처리나 다양한 서비스에서의 비동기성 처리를 구현
Netty 서버를 사용하여 내장형 서버로 사용
Spring MVC와의 호환성을 유지하기 위해 WebFlux의 대부분의 기능은 Spring MVC와 유사한 방식으로 사용 가능
Reactive Adapter를 이용하여 Reactor 뿐만 아니라 Rxjava 등의 다른 리액티브 라이브러리를 사용할 수 있는 유연함을 제공
Spring Security를 사용할 수 있지만, Servlet filter 방식이 아닌 WebFilter를 사용