Spring WebFlux는 MVC와 동일하게 Front-Controller 방식으로 설계되어 있습니다. 요청을 처리하는 흐름을 알아보겠습니다.

HandlerAdapter 구현체는 요청을 처리하는 중에 발생한 예외를 내부적으로 처리할 수 있습니다. 비동기 값을 반환하는 경우에는 처리가 지연될 수 있습니다.
Flux같은 경우, 반환 값이 여러 개로 예상될 때 사용 가능합니다. 원소들은 스트리밍되며, 버퍼링되지 않습니다. 기본적으로 많은 수의 원소를 다루게 된다면 메모리 효율성이 떨어지기 때문입니다.
application/json+stream을 사용하면 개별적으로 기록되고, 플러시됩니다.
JSON으로 요소를 인코딩하는 동안, 오류가 발생하면
잘못된 값으로 기록되고, 커밋되었을 수 있습니다.
경우에 따라, 요소를 버퍼링하여 오류가 없음을 체크하고
한번에 방출하는 방식이 있을 수 있습니다.
Flux<List<Object\>>
API 서버의 경우,
Flux<ServerSentEvent>Observable<ServerSentEvent>Router는 Spring WebFlux에서 제공하는 람다 기반의 새로운 Controller 구현 방식이다.
RouterFunction은 HandlerFunction을 호출하는 역할입니다. MVC에서 사용하는 @RequestMapping 역할을 한다고 볼 수 있습니다.