web-dev-qa-db-ja.com

本番サーバーとしてApacheTomcatとGlassfishをどのように比較しますか?

現在ApacheTomcatで実行されているJ2EEベースのシステムがあります。本番サーバーをGlassfishサーバーに移行することを検討中です。

誰かが彼らの経験を彼らのどちらかと共有できますか?

23
Satya

これが かなり古い比較 です。そのため、各サーバーの機能は間違いなく向上しています。

編集:ここにあります 現在の比較。

ただし、どちらも実稼働での使用には十分安定しています。それは本当に機能に帰着するでしょう。

11
Oli

それらは実際には比較できません。

ApacheTomcatはJ2EEサーバーではありません。これは、Webアプリケーションのサーブレットコンテナにすぎません。これ以上何もない。 J2EE APIの実装が必要な場合は、他の場所から実装する必要があります。たとえば、Tomcatをコンテナとして使用するApache Geronimoサーバーを使用するか、GlassfishからJARファイルを取得します。

Glassfishは完全なJava JPA、EJBなどのAPIを実装したアプリケーションサーバーです。GlassfishにはTomcatで最初に使用されたサーブレットエンジンが含まれていますが、改良されています(正確にはわかりません)。最近のGlassfishサーバーは、grizzlyを使用する別のコンテナーを使用します。これは、入力/出力にNIO APIを使用し、非常に適切にスケーリングします。私の知る限り、Glassfish ServletEngineの方がパフォーマンスが優れています。ここで素晴らしいベンチマークを見つけました。 (少し古いですが):

http://weblogs.Java.net/blog/sdo/archive/2007/05/how_to_test_con.html

大きな質問は:なぜですか? GlassfishがTomcatまたはJettyを介して提供するために必要なものは何だと思いますか?おそらく管理ユーティリティ?

基本的なサーブレットコンテナ以外に必要なもののほとんどは、簡単にプラグインできます。

したがって、Glassfishはそのままでも問題ありませんが、「理由だけで」移動しても意味がありません。私が構築したほとんどの本番サービスは、実装固有の機能を使用せずに、プレーンな古いサーブレットコンテナ上にあります。

3
StaxMan

これは少し時代遅れで、少し偏っているかもしれませんが、それはOracleによるものです。 GlassFishとTomCatを比較するセクションにスキップできます

http://Java.Sun.com/developer/technicalArticles/glassfish/GFandMySQL_Part1.html

1