Spring Web Reactive | 1. Spring WebFlux

Version 5.3.5

このドキュメントでは、Netty、Undertow、Servlet 3.1+コンテナなどのノンブロッキングサーバーで実行される、Reactive Streams API上に構築されたリアクティブスタックWebアプリケーションのサポートについて説明する。各章では、Spring WebFluxフレームワーク、リアクティブなWebClient、テストサポート、reactive librariesについて説明する。サーブレットスタックWebアプリケーションについては、Web on Servlet Stackを参照すること。

1. Spring WebFlux

Spring Frameworkに含まれる元のWebフレームワークであるSpring Web MVCは、Servlet APIとサーブレットコンテナ専用に構築された。リアクティブスタックWebフレームワークであるSpring WebFluxは、その後5.0で追加された。完全なノンブロッキングをサポートし、Reactive Streamsのバックプレッシャーをサポートし、Netty、Undertow、Servlet 3.1+コンテナなどのサーバーで実行される。

2つのWebフレームワークは、ソースモジュールであるspring-webmvcspring-webfluxの名前を反映し、Spring Framework内で共存する。各モジュールは任意である。アプリケーションはどちらか一方のモジュールを使用でき、場合によっては両方を使用できる。たとえば、Spring MVCコントローラーにリアクティブなWebClientを含める場合である。