Webflux - Spring 5에서 새롭게 추가된 모듈

**Webflux는 클라이언트, 서버에서 reactive 스타일의 어플리케이션 개발을 도와주는 모듈**이며

reactive-stack 프레임워크이며 논블로킹에 reactive stream을 지원


Webflux 특징

  1. 비동기 기반 프레임워크이기 때문에 비동기 기반 서버인 Netty를 주요 서버로 사용
  2. MVC의 어노테이션은 그대로 사용하지만 메소드 시그니처(반환 타입)에 따라 동기 비동기 구분 가능

메소드 시그니처로 동기 비동기 구분

fun getMyType() : Mono<MyType>

리턴 타입에 Mono가 정의됨으로써 이 메소드는 **Reactor를 사용하는 비동기 응답**이라는 것을 나타낸다


Webflux의 2가지 프로그래밍 모델

어노테이션 기반 리액티브 컴포넌트

@RequestMapping, @PathVariable, @RestController, @GetMapping 등

**Spring MVC와 유사한 방식으로 구현이 가능해서 쉽게 적응 및 사용이 가능**하다는 장점

함수형 라우터와 핸들러