4

Web アプリケーションを開発中ですが、ロード バランサーで動作するかどうか質問されました。システムのどこにもリクエスト間で追跡される状態がないため、私の最初の反応はイエスです。ただし、アプリの起動時にロードされるアプリケーション固有の状態がいくつかあります (主にデータベースからの構成設定)。

  1. このデータはすべて読み取り専用です。これを管理し、クラスター内のすべてのアプリケーションでこれらのオブジェクトを無効化するには、通常のキャッシュ依存メカニズムに依存するだけで十分ですか?それとも、信頼性/一貫性を確保するために App Fabric のような共有キャッシュ システムに移行する必要がありますか?

  2. 診断を有効にすると、EventSource.Write を使用して多数のロギング呼び出しが行われ、アウト プロセス ロガーがこれらをピックアップします。この場合、各サーバーがトリガーするイベントを取得するために、クラスター内の各サーバーに 1 つのロガーをインストールする必要があると思います。私はそれについてあまり気にしていませんが、クラスタ内のどのサーバーがリクエストを処理したかを特定する良い方法は何ですか?

4

1 に答える 1

2
  1. 各サーバーのデータを個別に初期化し、読み取り専用であれば問題ありません。個別のアプリケーションには、それぞれコピーがあります。

  2. はい、各インスタンスにロガーが必要です。サーバーを識別するために、サーバーの IP をログに含めることができます。そうすれば、サーバーを追跡できます。(静的IPを持っている場合ですが、持っていると思います)。

于 2013-09-24T11:24:45.423 に答える