0

高可用性を目的として ASP.NET MVC アプリケーションを構築する場合、使用可能な状態サーバーがない場合、SQL Server でセッション状態を維持することは良い方法ですか?

4

2 に答える 2

0

ここでのポイントは、クレイグの回答へのコメントで述べたように、2〜3台のWebサーバーがあることです。

1 つの方法は、独自の問題http://idunno.org/articles/277.aspxがある SQL サーバー セッション状態を使用することです。

これが 1 つの SQL-Server である場合、sessionstate の DB に大きな負荷がかかるため、注意が必要です。各リクエストはデータベースに書き込みます。

2 つの Web サーバーと、スティッキー セッションを持つロードバランサーを使用します。最初のリクエストがサーバー 1 で終了した場合、すべてのリクエストはサーバー 1 によって処理されます。

これが常に最善の解決策であるとは限りませんが、少なくとも私たちのサイト (ユーザーが通常 20 ~ 30 分滞在するショップ) ではうまく機能します。SessionState はほとんど使用せず、ほとんどのユーザー固有のものは ProfileSystem に格納されています。しかし、リクエストが別のサーバーに送られると、ProfileSystem も失敗すると思います。

于 2010-06-07T20:45:13.027 に答える
0

代わりにAppFabric Caching (fka Velocity) をお勧めします。

于 2010-06-07T19:14:26.693 に答える