5

JavaEE アプリケーションがあります。EJB と SOAP を使用する 1 つの EAR。サーブレットを使用するいくつかの WAR。現在、EAR は Glassfish 3.1.2 (コミュニティ エディション) にデプロイされ、WAR は Tomcat または Glassfish サーバーにもデプロイされています。

このアプリは MySQL データベースに支えられており、ほとんどの場合、データベースに出入りするいくつかの些細なデータ マッサージを行います。実質的に静的コンテンツはありません。現在のアーキテクチャでは、事実上、war 自体によって応答できる要求はなく、常に EAR が関与します (再設計によってこれを変更できる可能性があります)。

これは、20 人の同時ユーザーに対してすぐに使用でき、中規模のサーバーで最大 200 人の同時ユーザーに対していくつかの http スレッド プールを微調整することで機能します。

ここで、1,000,000 人のユーザーに対応できるようにアプリケーションをスケーリングする必要があります (これは楽観的な推測ではなく、ビジネスにとって現実的な要件です。「ユーザー」のほとんどは、現場で展開されるデバイスになります)。

1.000.000 の同時ユーザーを処理するためにこのアプリケーションをスケーリングするにはどうすればよいですか? 特に:

  • 1 つのグラスフィッシュ サーバーで 200 ~ 500 人を超えるユーザーにサービスを提供できるようにする必要がありますか (あまり要求の厳しい Web アプリケーションの場合)。はいの場合、何を目指すべきですか?
  • GlassFish クラスターはオプションのようですが、それはどの程度スケールしますか? それでも、1,000 ~ 2,000 台のサーバーを (クラウドであっても) 実行することは、私にはあまり魅力的ではありません。
  • tomcat/glassfish が間違っている場合、代替手段は何ですか?
  • 現在、ボトルネックは webapp ですが、ある段階で DB も問題になる可能性があると思います。MySQL はそのようなサイズにどの程度スケールしますか?
4

1 に答える 1

2

以下の URL で役立つ情報を見つけていただければ幸いです。

http://highscalability.com/blog/category/example

于 2013-11-04T05:56:24.713 に答える