본문 바로가기
Develop/Spring

Spring WebFlux

by jaeyoungb 2022. 12. 1.

WebFlux란 Reactor의 타입인 Flux가 Web에서 사용되는 것으로, 리액티브한 웹 애플리케이션을 구현하기 위한 기술 자체를 상징하고 있다.

 

Spring WebFlux란 Spring 5부터 지원하는 리액티브 웹 애플리케이션을 위한 웹 프레임워크로, Spring WebFlux 프레임워크를 사용해서 리액티브한 웹 애플리케이션을 구현할 수 있다.

 

Spring WebFlux에서 꼭 Reactor만 사용할 수 있는 것은 아니다. Reactor 이외의 리액티브 라이브러리인 ReactiveAdapterReactiveAdapterRegistry를 통해 사용이 가능하다.

https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/core/ReactiveAdapter.html

- https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/core/ReactiveAdapterRegistry.html

 

 

Spring WebFlux  vs  Spring MVC

http://spring.io/reactive
https://docs.spring.io/spring-framework/docs/5.2.5.RELEASE/spring-framework-reference/web-reactive.html#webflux-framework-choice

WebClient에 대해

- https://docs.spring.io/spring-framework/docs/current/reference/html/web-reactive.html#webflux-client

- https://www.baeldung.com/spring-5-webclient

 

## Spring WebFlux를 이용하면, 1차로 요청을 수신한 애플리케이션에서 외부 애플리케이션에 요청을 추가적으로 전달할 때, 1차로 요청을 수신한 애플리케이션의 요청 처리 쓰레드가 Blocking 되지 않는다. (Non-Blocking)

 

 

R2dbcEntityTemplate에서 지원하는 SQL 쿼리 빌드 메서드에 대해

- https://docs.spring.io/spring-data/r2dbc/docs/current/reference/html/#r2dbc.entityoperations