6

これが繰り返されるトピックであることは承知していますが、多くの記事を読みましたが、まだ疑問があります。また、これについて最近の意見をもっと聞きたいです。

私のアプリケーション サーバーの主な要件は、柔軟な構成、非常に多数の同時ユーザーのサポートです。移動体通信業界向けのシステムとなるため、高可用性も求められます。

私は Java EE アプリケーションを開発しようとしていますが、オープン ソース アプリケーション サーバーが唯一の選択肢です。私は非常に小さなプロジェクトで GlassFish を使用しましたが、とても気に入りました。

4

5 に答える 5

7

私の現在の考え:

  • 小さく、起動が速く、シンプル:Jetty
  • より大きく、より堅牢で、非常に大規模なユーザーの知識ベース:Tomcat
  • 再び大きく、より多くの機能、優れたエンタープライズサポート、開始が遅い:JBoss

すべてが大規模なユーザーベースをサポートでき、すべてがユースケースの95%をうまく実行します。

私はデフォルトで一番上から始めて、状況/要件がより複雑になるにつれてリストを下に移動します。たとえば、必要なJavaEEサポートの量などです。

また、カスタム機能を使用しないように注意する場合は、後で変更するのは比較的簡単です。

これは純粋に私の個人的な経験に基づいており、少し単純化されています-これについて本を書くことができます!

于 2010-04-15T21:56:25.503 に答える
5

Java EE サーバーを探している場合、基本的に次の 2 つのオプションがあります。GlassFishまたはJBoss (Geronimo または Jonas はコミュニティが小さすぎて、それらの深刻な参照を認識していません。これは、存在しないという意味ではありません)。任意 - 私はそれらを選びません)。どちらも本格的なプラットフォームであり、クラスタリングと HA をサポートしており、大規模なクラスターを構築するために使用されており、これが重要な場合は商用サポートを提供しています。

さて、さまざまなバージョンの簡単な要約:

  • JBoss AS 5.1: Java EE 5 認定。HA、クラスタリングをサポートし、XML が苦手な場合は管理コンソールが付属しています (ただし、コンソールからのクラスターのセットアップはまだサポートされていません)。
  • GlassFish v2.1: Java EE 5 認定。HA、クラスタリング、JBoss 5.1 よりも優れた管理コンソール(特にこれが重要な場合はクラスターのセットアップ)、優れた CLI ツールをサポートします。
  • GlassFish v3: Java EE 6 認定。非常に新しい、クラスタリング、集中管理をサポートしていません。バージョン 3.0.1 がまもなくリリースされます。
  • JBoss AS 6.0: Java EE 6 認定。まだ一般提供に達していません。今のところそれについて多くを語ることはできません.M2は最終バージョンの代表ではないかもしれません.
  • GlassFish v3.1: Java EE 6 認定。集中管理/クラスター、高可用性/状態レプリケーションなどを追加します。今年発売予定。公式ロードマップを参照してください。

最後に、プロジェクトが 2011 年までに実稼働しない場合は、Java EE 6 を検討します。そうでない場合は、Java EE 5 サーバーを検討します。いずれにせよ、ウェブの意見だけに基づいて選択しないでください。両方のサーバーをダウンロードし、2 台のマシンに少なくとも 4 つのノードのクラスターをセットアップし (最小値です。可能であればより大きなクラスターを使用します)、アプリケーションの代表的な概念実証でベンチマークを実行します。JBoss と Oracle の関係者を巻き込むことを躊躇しないでください。彼らは、彼らのソリューションが最良のソリューションであることを証明するのを喜んで手伝ってくれると確信しています :)

参考文献

JBoss については、JBoss World 2009 での Bela Ban のトーク「Large clusters in JBoss (pdf)」を参照してください。JBoss World 2010のセッションも確認してください。GlassFish については、彼らのストーリーを、より具体的にはTelcoでご覧ください。詳細については、Sun/Oracle および RedHat にお問い合わせください。

于 2010-04-16T03:14:54.590 に答える
3

本当に Java EE が必要な場合 (厳密に言えば)、JBoss は良い選択肢です。真の Java EE が必要ない場合は、Tomcat を使用することで十分に機能します。SpringSource は、真の Java EE を必要としない場合に適したオプションとなるtc Serverという名前のサポートを備えたエンタープライズ バージョンの Tomcat も提供します。

于 2010-04-15T19:10:39.667 に答える
2

実際には GlassFish を使用することをお勧めします。慣れ親しんでいることとは別に、非常に多数の同時接続をサポート する NIO ネットワーク インフラストラクチャ ( Grizzly ) を使用します。

私たちは主に JBoss を使用していますが、JBoss5 もかなり多くの接続をサポートできると言えます (私の知る限り、これは NIO ベースのコネクタも使用しています)。

Resinというセミオープンソースの EJB コンテナもあります(基本的にはオープンソース版とプロプライエタリ版があります)。人々はそれが優れた性能を持っていると言いますが、私はそれ以上調べる機会がありません.

最後のポイントは、JavaEE EJB コンテナーを使用してもよろしいですか? 実際には JavaEE EJB コンテナから始めましたが、パフォーマンス要件などから、Tomcat+Spring に移行しようとしています。EJB にはスレッド モデルなどの制限があり、Web ブラウザ以外のクライアントを使用している場合、不要な制限になる可能性があります。

JavaEE5 までは、定期的なタスクを実行するための「TimerService」と、非同期処理を実行するための JMS しかありませんでした。

于 2010-04-15T19:35:32.103 に答える
2

完全な Java EE について話している場合は、Glassfish です。

GFv2.1 は堅実で、GFv3 はまだ発表されていませんが、新しい Java EE 6 を提供しています。

積極的に開発された無料の商用サポート、優れたフォーラム。オラクルはそのロードマップを公開しています。

使いやすく、構成しやすく、よく整理されています。素晴らしいコンソール。

さまざまな側面 (Metro、Grizzly、JAX-RS、NetBeans など) に取り組んでいる人々からの非常によく文書化された、膨大な量の補足文書と記事。

NetBeans + Glassfish は、簡単にすぐに使用を開始できます。

クラスタリングとあらゆる種類の管理オプションを提供します。

于 2010-04-15T22:17:25.173 に答える