Microsoft Azure は、クラウドで ASP.NET アプリケーションのプラットフォームを提供します。 非常に多くの場合、これらのアプリケーションはトランザクションが多く、本質的にミッション クリティカルです。 したがって、これらのアプリケーションがスケーラブルであり、Web サーバーがダウンしてもデータが失われないことが非常に重要です。
NCache 詳細 .NETでの分散キャッシング 高可用性 NCache
ASP.NET セッション状態ストレージ オプション
ASP.NETセッション状態 どこかに保存する必要があり、そのストレージがパフォーマンスとスケーラビリティの主要なボトルネックになります。 Microsoft Azure では、ASP.NET セッション状態を InProc、Azure テーブル、SQL データベース、または分散キャッシュに格納できます。
進行中
InProc セッション ストレージ オプションは、Microsoft Azure アーキテクチャではうまく機能しません。 まず、ASP.NET セッション状態は、InProc モードの Web ロールの複数のインスタンス間で共有されません。 次に、Microsoft Azure でスティッキー セッションを使用することになり、負荷分散が不均一になる可能性があります。 さらに、スティッキー セッションには、Microsoft Azure が既定でスティッキー セッションを使用しないため、ユーザー側で追加の構成が必要になります。 さらに、障害またはメンテナンスのために Web ロール インスタンスがダウンすると、セッション データが失われ、これは明らかに受け入れられません。
アズールテーブル
Azure Table Storage はファイル ベースの ASP.NET セッション状態プロバイダーであり、コード サンプルとして「現状のまま」提供されます。つまり、Microsoft によって公式にサポートされていません。 構造化されたエンティティを格納することを目的としています。 安価なオプションですが、ファイルベースであるため、主にパフォーマンスのために、ASP.NET セッション状態を格納するのに理想的な場所ではありません。
SQLデータベース
Microsoft Azure SQL データベースは、従来の ASP.NET SQL Server モードを使用して、ASP.NET セッション状態のストレージとしても使用できます。 しかし、ASP.NET セッション状態オブジェクトは BLOB としてデータベースに格納され、リレーショナル データベースは実際には BLOB ストレージ用に設計されたことはありません。 これはパフォーマンスの問題を引き起こし、Microsoft Azure ASP.NET アプリケーションのスケーラビリティの主要なボトルネックであることは間違いありません。
分散キャッシュ
分散キャッシュは、Microsoft Azure の ASP.NET セッション状態に理想的なストレージを提供します。 たとえば、次のように使用できます。 NCache Azureの場合 これは、.NET アプリケーション用の Microsoft Azure 分散キャッシュです。 上記の他のすべての Microsoft Azure オプションよりも非常に高速でスケーラブルです。また、セッションをレプリケートするため、キャッシュ サーバーがダウンしてもデータが失われることはありません。 さらに、セッション共有に関連するすべての問題を排除し、均等な負荷分散を使用して、すべての Azure Web ロール インスタンスを完全に活用できるようにします。
プラグイン NCache ASP.NETセッション状態プロバイダーとして。 NCache 非常に高速でスケーラブルなオープンソースです .NET の分散キャッシュ. 実行時にキャッシュ サーバーを追加し、線形にスケーリングできるようにすることで、極端なトランザクション負荷を処理します。 NCache また、インテリジェントなキャッシュ レプリケーションも提供するため、Web サーバーまたはキャッシュ サーバーがダウンしても ASP.NET セッション状態が失われることはありません。
NCache 詳細 NCache Cloud Azureの場合 入門ガイド
設定方法 NCache Azure ASP.NETセッション状態プロバイダーで?
NCache Azureで は、MicrosoftAzureASP.NETアプリケーションで使用できるASP.NETセッション状態プロバイダーを実装しました。 NCache AzureではMicrosoftAzureVMを使用し、専用のキャッシュ層を作成します。 次に、Microsoft AzureのASP.NETアプリケーションは、ASP.NETセッション状態ストレージにこのAzure分散キャッシュを使用するように指示できます。
使用のハイライト NCache Azure ASP.NET セッション状態プロバイダーで最も重要なのは、アプリケーション コードを変更する必要がないことです。 これは の監視 アプリケーションの web.config ファイルを次のように変更して使用するだけです。 NCache ASP.NETセッション状態の分散キャッシュとしてのAzureの場合:
1 2 3 4 5 6 7 8 9 10 11 12 |
<assemblies> <add assembly="Alachisoft.NCache.SessionStoreProvider, Version=x.x.x.x, Culture=neutral, PublicKeyToken=CFF5926ED6A53769"> </add></assemblies> <sessionstate cookieless="false" regenerateexpiredsessionid="true" mode="Custom" customprovider="NCacheSessionProvider" timeout="20"></sessionstate> <providers> <add name="NCacheSessionProvider" type="Alachisoft.NCache.Web.SessionState.NSessionStoreProvider" sessionappid="NCacheTest" cachename="TestCache" writeexceptionstoeventlog="false"> </add></providers> |
NCache Azureで
NCache は、.NETアプリケーション用の非常に高速でスケーラブルなMicrosoftAzure分散キャッシュです。 NCache in Azure は、複数の Microsoft Azure リージョンにデプロイされた ASP.NET アプリケーションに対して、インテリジェントなマルチリージョン ASP.NET セッション状態のサポートを提供します。
使用するときに達成するいくつかの重要な利点は次のとおりです NCache ASP.NETセッション状態を格納するための分散キャッシュとしてのAzureの場合。
- 線形スケーラビリティとパフォーマンス: NCache for Azureは、動的クラスタリングプロトコルに基づいており、実行時にキャッシュにサーバーを追加できます。 アプリケーションのアーキテクチャを変更せずにアプリケーションの負荷が増大した場合、Azure Distributed Cacheにサーバーを追加することで、アプリケーションを直線的にスケールアウトできます。
- セッションレプリケーション: NCache for Azure は、レプリケーションを利用して信頼性のサポートを提供します。 セッション データの損失を心配することなく、メンテナンス、パッチ適用、および新しいリリースのためにアプリケーション インスタンスをオフラインにすることができます。
- 高可用性: NCache for Azureは、XNUMX%のピアツーピアアーキテクチャに基づいているため、高可用性のフォールトトレラントサポートを提供します。 分散キャッシュからノードに障害が発生した場合でも、データが失われたり、アプリケーションがダウンタイムになったりしないことが保証されています。
NCache 詳細 .NETでの分散キャッシング 高可用性 NCache
まとめ
などのAzure分散キャッシュ NCache Azureで ASP.NET セッション状態を Microsoft Azure に格納するための最良のオプションは、主に次の理由によります。 パフォーマンス, スケーラビリティ、信頼性、および高可用性機能。 が提供する Microsoft Azure 分散キャッシュ NCache for Azureは非常に使いやすく、アプリケーションコードを変更する必要はありません。
Azureチュートリアルについての素晴らしい読み物です。これは、Azureチュートリアルで多くのことを理解するのに役立ちました。 Azureトレーニングで同様の記事を共有し続けてください。 Azureチュートリアルについて詳しく知りたい場合は、このすばらしいAzureコースを確認する必要があります。Azureチュートリアルでの学習を楽しんでいただけると確信しています。:-https://www.youtube.com/watch?v=8_0qGTdHZSs&t=51s