JBoss EAP 6.1 にデプロイする JavaEE 6 ベースのアプリケーションを開発中です。アプリには、Web 管理コンソールと RESTful サービス API という 2 つの主要なプレゼンテーション メカニズムがあります。バックエンドでは、管理コンソールと RESTful サービス API の両方が、一連の EJB を使用してトランザクション ロジックを実行し、POJO サービスを使用してデータを取得します。
これらのさまざまなレイヤーのすべてでパフォーマンスとリソースのニーズが異なる可能性は十分にあります。RESTful サービスはかなりシンで完全にステートレスですが、管理コンソールはステートフルでよりインタラクティブな機能を備えています (したがって、より多くのメモリと処理が必要になります)。EJB は主要なトランザクション ビジネス ロジックを実行するため、単純にデータベースにクエリを実行する POJO データ サービスよりも多くの処理能力を必要とします。
このようなセットアップが与えられた場合、これらすべてのコンポーネントを含む単一の EAR (クラスター化された構成の複数のアプリケーション サーバー) を展開するか、個々のコンポーネントを個別の EAR に分割する方が理にかなっていますか? 個別の EAR に関する私の考えでは、たとえば、EJB サービスにスケーラビリティの問題があることがわかった場合は、Web コンソール (たとえば) が問題なくスケーリングされていても、EJB サービスのインスタンスをさらにデプロイできます。
各レイヤー/コンポーネントのスケーラビリティが異なるという事実を考えると、どのようなアプローチを取る必要がありますか? EAR 間でリモート EJB 呼び出しを行わなければならないというオーバーヘッドは、そのようなモデルを検討するには高すぎますか? どんなアドバイスも大歓迎です!