ASP.NET状態サーバーはエレガントなソリューションですか?
-
27-09-2019 - |
質問
ASP.NET MVCプロジェクトがあり、1つのWebサーバーから始まりますが、すぐに小さなWebファームにスケーリングする可能性があります。 ASP.NET認証がユーザーIDを保存し、データキャッシュも有用な場合があるため、すぐにステートサーバーにジャンプする必要がある可能性があります。
他の人から、State Serverがどのように協力してきたか、それがパフォーマンスの観点からどのように拡大するかを聞きたいと思います。
あるいは、暗号化されたCookieを使用したデータのキャッシングと追跡セッションを使用しないことにより、完全にステートレスとしてアーキテクチャを作成することができます。
更新:以前に(Microsoft Technical Advisorから...)誤報がありました。したがって、結局のところ、この状況では状態サーバーは必要ありません。
解決
完全なステートレス(セッションレス)アプリケーションの方がスケーラブルになります。使用 asp.net formsauthentication, 、ユーザーIDは、すべてのリクエストで利用可能な暗号化されたCookieに保存され、データストアからユーザー情報を取得できます。パフォーマンスをさらに向上させるために、いくつかの高価なクエリの結果をキャッシュできます。理想的には、このキャッシュはキャッシュサーバーファームに配布されます。たとえば、youyは使用できます memcached を持っています ASP.NETのプロバイダー.
所属していません StackOverflow