SpringBoot は現在最も人気のある Java Web フレームワークと言えます。これにより開発者は煩雑な XML から解放され、数分で完全な Web サービスを作成できるようになり、開発者の作業効率が大幅に向上します。 Web プロジェクトは実行するためにコンテナ テクノロジに依存する必要があるため、Web コンテナ テクノロジは Web プロジェクトの重要なコンポーネントです。
SpringBoot フレームワークで最もよく使用されるのは Tomcat です。これは SpringBoot のデフォルトのコンテナ技術であり、Tomcat が組み込まれています。
Java プログラマは、Web アプリケーションで最も一般的に使用されるコンテナ テクノロジである Tomcat テクノロジに精通している必要があります。私たちが最初に開発したプロジェクトは、基本的に Tomcat の下でデプロイされ、実行されました。では、Tomcat コンテナに加えて、他にどのようなコンテナ テクノロジを SpringBoot で使用できるでしょうか?そう、タイトルにもあるUndertowコンテナ技術です。 SrpingBoot は Undertow の技術を完全に継承しているため、下図に示すように Undertow の依存関係を導入するだけで済みます。
#構成後、アプリケーションを起動すると、コンテナーが Undertow に置き換えられていることがわかりました。では、なぜ Tomcat を Undertow テクノロジーに置き換える必要があるのでしょうか? Tomcat と Undertow の長所と短所の比較Tomcat は、Apache Foundation に基づく軽量のサーブレット コンテナであり、サーブレットと JSP をサポートしています。 Tomcat は、Tomcat 管理および制御プラットフォーム、セキュリティ ビューロー管理、Tomcat バルブなど、Web サーバーの独自の機能を備えています。 Tomcat 自体には HTTP サーバーが含まれているため、別の Web サーバーとみなすこともできます。ただし、Tomcat と Apache HTTP サーバーは同じものではなく、Apache HTTP サーバーは C 言語で実装された HTTP Web サーバーです。 Tomcat は完全に無料であり、開発者に愛されています。 Undertow は Red Hat のオープンソース製品で、完全に Java 言語で開発されており、ブロッキング IO とノンブロッキング IO をサポートする柔軟で高性能な Web サーバーです。 Undertow は Java 言語で開発されているため、Java プロジェクトに直接埋め込んで使用できます。同時に、Undertow はサーブレットと Web ソケットを完全にサポートし、同時実行性が高い状況でも非常に優れたパフォーマンスを発揮します。 同じマシン構成で Tomcat と Undertow のストレス テストを行い、得られたテスト結果は次のとおりです:QPS テスト結果の比較: Tomcat
Undertowメモリ使用量の比較:
Tomcat Undertow テストを通じて、Tomcat は同時実行性の高いシステムでは比較的弱いことが判明しました。同じマシン構成で同じ数のリクエストをシミュレートすると、パフォーマンスとメモリ使用量の点で Undertow が最適になります。また、Undertow の新しいバージョンはデフォルトで永続接続を使用するため、同時スループット機能がさらに向上します。したがって、同時実行性の高いビジネス システムの場合は、Undertow が最適な選択です。以上がSpringBoot がプロジェクト内で Tomcat コンテナを使用することを禁止する理由は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。