Tomcat を使用した SpringBoot プロジェクトが大規模な工場によって禁止されているのはなぜですか?

序文

SpringBoot フレームワークでは、SpringBoot のデフォルトのコンテナー技術である Tomcat を最も多く使用しており、これは組み込みの Tomcat です。同時に、SpringBoot は Undertow コンテナーもサポートしており、Tomcat を Undertow に簡単に置き換えることができ、Undertow のパフォーマンスとメモリ使用量は Tomcat よりも優れています。この記事では詳しく説明します。

SpringBoot の Tomcat コンテナ

SpringBoot は、現在最もホットな Java Web フレームワークと言えます。これにより、開発者は重い xml から解放され、開発者は完全な Web サービスを数分で作成できるようになり、開発者の作業効率が大幅に向上します。どの Web プロジェクトもコンテナー技術に依存して実行する必要があるため、Web コンテナー技術は Web プロジェクトの重要な部分です。SpringBoot フレームワークでは、SpringBoot のデフォルトのコンテナー技術である Tomcat を最も多く使用しており、これは組み込みの Tomcat です。推奨事項:必要なほぼすべての SpringBoot 操作をカバーしています

SpringBoot セット Undertow

Java プログラマーは、Web アプリケーションで最も一般的に使用されるコンテナー技術である Tomcat 技術に精通している必要があります。初期の開発プロジェクトは基本的に Tomcat でデプロイおよび実行されていましたが、Tomcat コンテナー以外に、SpringBoot で使用できるコンテナー テクノロジは何でしょうか? そうです、タイトルのUndertowコンテナ技術です。SrpingBoot は Undertow テクノロジを完全に継承しているため、下図に示すように、Undertow の依存関係を導入するだけで済みます。

構成後、アプリケーションを起動すると、コンテナーが Undertow に置き換えられていることがわかりました。では、Tomcat を Undertow テクノロジーに置き換える必要があるのはなぜでしょうか?

Tomcat と Undertow の長所と短所の比較

Tomcat は、Apache 基盤の下にある軽量のサーブレット コンテナーであり、サーブレットと JSP をサポートします。Tomcat には、Tomcat の管理および制御プラットフォーム、セキュリティ局の管理、Tomcat バルブなど、Web サーバーに固有の機能があります。Tomcat 自体に HTTP サーバーが含まれているため、別の Web サーバーと見なすこともできます。ただし、Tomcat と ApacheHTTP サーバーは同じものではなく、ApacheHTTP サーバーは C 言語で実装された HTTP Web サーバーです。Tomcat は完全に無料で、開発者に愛されています。

Undertow は Red Hat のオープンソース製品であり、すべて Java 言語で開発されており、ブロッキング IO とノンブロッキング IO をサポートする柔軟で高性能な Web サーバーです。Undertow は Java 言語で開発されているため、Java プロジェクトに直接組み込むことができます。同時に、Undertow は Servlet と Web Socket を完全にサポートし、同時実行性の高い状況で非常に優れたパフォーマンスを発揮します。

同じマシン構成で Tomcat と Undertow のストレス テストを行い、得られたテスト結果は次のとおりです。QPS テスト結果の比較: Tomcat

逆流

メモリ使用量の比較:

トムキャット

逆流

テストを通じて、Tomcat は同時実行性の高いシステムでは比較的弱いことがわかりました。同じマシン構成で同じ数のリクエストをシミュレートすると、パフォーマンスとメモリ使用量の点で Undertow が最適です。また、Undertow の新しいバージョンでは、デフォルトで永続的な接続が使用されるため、同時スループットがさらに向上します。したがって、並行性の高いビジネス システムであれば、Undertow が最適です。

やっと

SpingBoot では、Tomcat を Http サービスとして使用するか、代わりに Undertow を使用できます。同時実行性の高いビジネス シナリオでは、Undertow は Tomcat よりも優れたパフォーマンスを発揮します。したがって、システムの同時リクエストが多い場合は、Undertow を使用すると、システムのパフォーマンスが大幅に向上することがわかります。

おすすめ

転載: blog.csdn.net/m0_69804655/article/details/129885246