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