1

Azure Traffic Manager を使用して、異なるリージョンにある 2 つのサーバーの負荷を分散しています。セッション状態には単一のストアまたは redis キャッシュが必要だと思いました。ただし、テスト中は、現在のサーバーをテストしてサーバー間を戻っても、ログインしたままになっているようです。私はログアウトし、もう一方はログアウトしています。私が保存している唯一のセッション状態はユーザー プロファイルですが、それが見つからない場合はサーバーに移動して取得します。以下は私のフォーム設定です。本当に redis キャッシュのようなものが必要ですか?

<sessionState timeout="2880" mode="InProc" />
    <authentication mode="Forms">
      <forms loginUrl="/login" path="/" protection="All" domain=".example.com" timeout="2880" slidingExpiration="true" name="_EXPOSURE_" />
    </authentication>
4

1 に答える 1

2

アプリの設計方法を決定できるのはあなただけですが... Traffic Manager はセッション状態とはまったく関係ありません。選択したルーティング方法 (距離 / ラウンド ロビン / プライマリ + フェールオーバー) に基づいて、ユーザー トラフィックを複数の Web エンドポイントにルーティングするだけです。

上記のセッション状態のスニペットは InProc を表しています。これは、セッション データが特定の VM の Web サーバー内で維持されることを意味します。VM の外部では共有されません。複数の VM (または Web アプリ) でセッション状態を共有する場合は、セッション状態を Web サーバーの外部に保存する必要があります。

Redis を使用するか、SQL データベースを使用するか、またはその他のものを使用するかは、あなた次第です。

于 2016-04-07T22:00:50.530 に答える