1. Spring WebFlux

편집일시: 2021-04-12 13:38 조회수: 401 댓글수: 0
**Version 5.3.5** 이 문서에서는 Netty, Undertow, Servlet 3.1+ 컨테이너 등의 non-blocking 서버에서 실행하는 [Reactive Streams](https://www.reactive-streams.org/) API에 구축 된 리엑티브 스택 Web 어플리케이션의 지원에 대해 설명한다. 각 장에서는 Spring WebFlux 프레임워크, 리액티브 [`WebClient`](https://docs.spring.io/spring-framework/docs/current/reference/html/web-reactive.html#webflux-client), 테스트 지원 및 [reactive libraries](https://docs.spring.io/spring-framework/docs/current/reference/html/web-reactive.html#webflux-reactive-libraries)에 대해 설명한다. 서블릿 스택 Web 어플리케이션은 [ Web on Servlet Stack](https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#spring-web)을 참조하라. ## 1. Spring WebFlux Spring Framework에 포함되어 있는 원래의 Web 프레임워크인 Spring Web MVC는 서블릿 API와 서블릿 컨테이너 전용으로 구축되었다. 리액티브 스택 Web 프레임워크인 Spring WebFlux는 이후 5.0 버전에 추가되었다. 완전히 비차단(non-blocking)을 지원하는 [Reactive Streams](https://www.reactive-streams.org/) 역 압력(back pressure)를 지원하고 Netty, Undertow, Servlet 3.1+ 컨테이너 등의 서버에서 실행된다. 두 개의 Web 프레임워크는 소스 모듈([spring-webmvc](https://github.com/spring-projects/spring-framework/tree/master/spring-webmvc) 그리고 [spring-webflux](https://github.com/spring-projects/spring-framework/tree/master/spring-webflux))의 이름을 미러링하고, Spring Framework에 공존한다. 각 모듈은 옵션이다. 응용 프로그램은 어느 한쪽의 모듈 또는 경우에 따라서는 모두 사용할 수 있다. 예를 들어, Spring MVC 컨트롤러에 리액티브 `WebClient`를 포함하는 식이다. ## 참조 - 영어 : [https://docs.spring.io/spring-framework/docs/current/reference/html/web-reactive.html](https://docs.spring.io/spring-framework/docs/current/reference/html/web-reactive.html) - 일본어 : [https://spring.pleiades.io/spring-framework/docs/current/reference/html/web-reactive.html](https://spring.pleiades.io/spring-framework/docs/current/reference/html/web-reactive.html)

다음 글 : 1.1. 개요