0

Web アプリケーションをデプロイするときの一般的なアプローチは、実際のアプリケーション ロジックを一連のサービスとして実装し、それらを HTTP 経由で公開してから、サービスとユーザーの間にいくつかのフロント エンドを配置することです。通常、これらのフロント エンドは、SSL、セッション データ、負荷分散、ルーティング リクエスト、場合によってはキャッシュなどを処理します。

私の知る限り、通常、新しいリクエストが来るたびに、1 つ以上の新しいリクエストを 1 つ以上のバックエンドに対して行う必要があることを意味します。それぞれに TCP ハンドシェイク、HTTP オーバーヘッドなどがあります。

追加の接続によって、測定可能な遅延やパフォーマンス ヒットが追加されることはありませんか? もしそうなら、そのような展開から最高のパフォーマンスを得るためにどのような手法が一般的に実践されていますか?

4

1 に答える 1

0

ローカル接続の遅延は最小限に抑えられます。おそらく1桁のミリ秒です。追加のHTTPセッションには占有オーバーヘッドが発生しますが、その後、さまざまなアプリに分散されます。

説明するアプローチの利点は、負荷をさまざまなアプリに分散することです。これにより、SSLのように多くのフロントエンドビットを処理し、より多くのセッションを処理するバックエンドアプリを少なくすることができます。また、必要なアプリを選択して組み合わせることができます。

単一のモノリシックアプリは、容量が不足するまではおそらく少し高速になります。容量が不足すると、スケールアップが難しいため、問題が発生します。

于 2012-03-05T21:11:55.820 に答える