次の高負荷アプリケーションを実装する必要があります。
ユーザーは、ブラウザ経由で Web サーバーに画像を送信します。サーバーは画像を処理し、結果 (いくつかの文字列) をユーザーのブラウザーに送り返す必要があります。結果は 10 秒で表示され、Html-UI はサーバーの処理中に応答する (ブロックされない) 必要があります。
次のアーキテクチャについてどう思いますか?テクノロジは適切で、ソリューションはスケーラブルですか?
- ユーザー画像を取得する準備ができているいくつかの Web サーバー (~2-4) があります。
- イメージが受信されると、処理サーバーの 1 つに委任されます (ローカル ネットワークには、インターネットからアクセスできない 50 までの処理サーバーが必要です)。
- (a) クライアントは、処理結果が ajax を介して間隔 (1000 ミリ秒) で準備ができている場合、Web サーバーのポーリングを開始します。
- (b) クライアントには、結果の準備が整うとすぐにサーバーから結果を受け取るためのデュプレックス ブラウザー <-> Web サーバー チャネルを実装するフラッシュ/シルバーライト コンポーネントがあります。
その中にはいくつかの蒸気があります:
- 個人的には、インターネット環境で ajax ポーリング アプローチと二重通信 (フラッシュ/シルバーライトを使用) のどちらが好みですか? それとも混ぜますか?
- 処理結果の準備ができていることを Web サーバーはどのように知る必要がありますか? 処理サーバー (最大 50 個の処理サーバー) によって処理結果が通知され、Web サーバーに結果の準備ができていることを通知する単一の高速応答メディエーター サービスがローカル インターネットに存在する必要があると思います。