2017-10-05 17 views

答えて

4

これはかなり広範なトピックですが、最初に明確にしましょう。

  • Spring MVCはServlet APIに基づいたWebフレームワークです。そのようなアプリはServletコンテナ(Jetty、Tomcat、Undertowなど)にデプロイできます。
  • Spring WebFluxは、反応的なHTTPレイヤーに基づく反応的なWebフレームワークです。そのようなアプリはNettyまたはUndertow(ネイティブアダプタを使用)またはJetty/Tomcat /任意のServlet 3.1コンテナ(Servlet 3.1アダプタのおかげで)にデプロイできます。
  • スプリングブートアプリケーションは、Spring Frameworkの5.0 FAQ about that with several useful resourcesを提供

スプリングMVCやSpring WebFluxを使用することができます。要するに、このアプローチは、多数の遅延と並行処理を扱うワークロードの効率とスケーラビリティにとって有益です。

実際、サーブレット3.1の非同期入出力はこれらの問題にも対処しますが、そのAPIを使用すると、ブロックしているServlet APIの他のビットを使用する必要がなくなります。これはSpring WebFluxがプログラミングモデルでServlet APIを公開するのではなく、Servletアダプタを利用する理由です。

+0

お返事ありがとうございます。私はもう一つ持っています:サーブレット3.1はNettyと同じスピード/応答/効率の接続を持っていますか?結局、彼らはどちらもNIOを使用します。 – wikk

+1

実際に大きな違いはありませんが、使用例によって異なる場合があります。また、その動作は、httpクライアントが突然切断するような珍しい使用例では異なります。 –

関連する問題