JBoss ASまたはSeamアプリケーションのTomcat?なぜ?

JBoss Seamを使って構築されたJava Webアプリケーションをアプリケーションフレームワークとしてデプロイしようとしています。これは電子商取引アプリケーションであり、高可用性とパフォーマンスの両方を心配しているため、クラスタ化された設定で展開します。 JBoss 5.1にデプロイされたアプリケーションを使用して開発と初期テストをすべて完了しましたが、最近はメモリフットプリントやパフォーマンスなどが懸念され、Tomcatへの移行が議論されました。

私たちのアプリケーションは、ビュー用にJSF、ビジネス層用にEJB3、PostgreSQLデータベースへの永続性のためにJPA/Hibernateを使用する典型的な多層アプリケーションを使用する電子商取引アプリケーションです。また、キャッシュサポートにはJBoss Cache 2.x、検索サポートにはHibernate Search(Lucene)を大いに活用しています。

I'd love to hear the opinion of the community on which app server is best for Seam-based applications. I realize that we'll have to make some changes to our application architecture (no EJBs, timer service->Quartz scheduler, JBoss Cache->ehCache, etc.) to support the migration. We're comfortable with making those changes, provided they are comparable to what we would get with JBoss.

JBossでは、クラスタ化された設定がはるかに簡単であるように見えます。 Quartzでクラスタ設定を行うことはできますか? ehCache?私が言及したように、現在JBoss 5.1に展開しています。 JBoss 7は性能とメモリフットプリントを改善しますか?私たちがTomcatを選んだ場合、Tomcat 7に傾いています。代わりにTomcat 6.xを選ぶ魅力的な理由はありますか?

このタイプの設定であなたの意見や経験を聞きたいです。私たちはその文書を読んだ。私たちは、さまざまなプラットフォームすべてで概念実証テストを行ってきました。しかし、生産現場で何を実行すべきかを知ることは難しく、間違った選択をしたくないので、間違った選択をしたため、すべてを再設計してテストする必要はありません。ご提供いただけるご意見やアドバイスをありがとうございます。

4
Red Hatの商用サポートを利用する現行の計画はありません。われわれは非常に小規模なスタートアップで、すべてを自分で管理し、サポートする予定です。メモリ使用量とパフォーマンスに関して、JBoss 5.1と7の間に顕著な違いがありますか?プラットフォームの安定性はどうですか?
追加された 著者 Shadowman,
私は、サポートに関するIsoliveraの答えに同意します。また、Jbossのスタックの多くを今使っているようです。もしあなたがtomcatルートに行くなら、あなたはSeamでも途切れてしまうかもしれません!今サポートを必要としない場合は、Jboss 7に移行することを最初に試みますが、Jboss 5からいくつかの設定変更が必要です。また、Jboss Enterprise(有料)6はjboss 7 。
追加された 著者 Luciano,

3 答え

私は誰もあなたのシステムのそのような広い定義であなたの質問に明確な答えを与えることはできないと思います。

私は現在、Seam/JBoss 5を同じような設定(Postgresの代わりにオラクル)で使用しています。緊密に統合されたJBossとSeamの世界でRedHatのプロフェッショナルサービスをサポートすること自体、あなたが無視すべきではありません。特にプロダクション環境ではあなたは今それを持っていなくても、それはあなたが将来(そうであれば)そうすることができることをあなたに知らせることができます。

つまり、どちらかといえば、問題が発生している場所を正確に把握するためには、まずアプリケーションのパフォーマンスをテストする必要があります。結局のところ、サーバーの実装に対するセッションのサイズは大きすぎるのですか、セッションにあまりにも多くの情報を格納していますか?セッションレプリケーションを使用しているかどうかあなたはAJAXをやっていますか?

Most of the times, performance improvement comes from the implementation -> performance testing -> implementation cycle rather than from changing implementation technologies. Hey, even Facebook uses MySQL for something everyone would immediately consider it unsuitable for (public profiles - 600+ million of them).

3
追加された

JBossのサーブレットコンテナサービスのほとんどは、内部のTomcatコンテナによって管理されています。これはJBoss 6までです。

JBossはアプリケーションサーバーですが、tomcatはサーブレットコンテナです。このような理由からTomcatに適応するために既存のコードを大幅に変更する必要はほとんどありません。

0
追加された

答えは「それは依存する」です。

情報に基づいた決定を下すためには、次の点を考慮してください。

  • 標準API (Java EE)のみを使用するか、実装固有の機能に依存するか
  • インフラストラクチャの設定保守

私の個人的な経験から、JBossには複雑なアプリケーションを、Tomcat/Jettyには単純なアプリケーションを配備しています。

クォーツはクラスタリングとEhcacheをサポートしています。

0
追加された