ASP.NETセッション状態プロバイダー NCache Webファームで

オンプレミス展開の場合、ASP.NET Session Stateは、XNUMXつの組み込みストレージオプション(InProc、StateServer、およびSqlServer)とXNUMX番目の「カスタム」オプションを提供します。 最初のXNUMXつの組み込みオプション(InProcとStateServer)にはスケーラビリティの問題がありますが、SqlServerオプションにはパフォーマンスとスケーラビリティの両方の問題があります。

はるかに優れた戦略は、「カスタム」オプションとプラグインを使用することです NCache ASP.NETセッション状態プロバイダーとして。 NCache は、.NET用の非常に高速でスケーラブルなオープンソース分散キャッシュです。 実行時にキャッシュサーバーを追加し、線形に拡張できるようにすることで、極端なトランザクション負荷を処理します。 NCache また、インテリジェントなキャッシュレプリケーションを提供するため、Webサーバーまたはキャッシュサーバーがダウンした場合でもASP.NETセッション状態が失われることはありません。

文書: ASP.NETセッション状態プロバイダー NCache

ASP.NETセッション状態プロバイダー NCache

のメリット NCache ASP.NETセッション状態プロバイダー

まず第一に、使用するために必要なプログラミングはありません NCache ASP.NETセッション状態プロバイダーとして。 web.configを変更して、 NCache セッション状態プロバイダー(SSP)として。 詳細を見る ASP.NETセッション状態プロバイダーの構成 NCache。 以下は、使用することの利点のいくつかです NCache ASP.NETセッション状態プロバイダーとして:

  1. 高可用性: NCache ています 自己修復型ピアツーピアクラスタリングアーキテクチャ 単一障害点はありません。 これにより、ASP.NETセッション状態ストレージに100%の稼働時間が提供されます。これは、ビジネスクリティカルなアプリケーションにとって非常に重要です。

  2. 線形スケーラビリティ: NCache あなたがすることができます キャッシュクラスターを線形にスケーリングする クラスタにキャッシュサーバーを追加します。 これにより、トランザクション容量とストレージ容量が増加します。 つまり、ASP.NETセッション状態ストレージは、トランザクションの負荷が高い場合にアプリケーションのボトルネックになることはありません。

  3. インテリジェントセッションレプリケーション: NCache 豊富なキャッシングトポロジ(ミラーリングされたキャッシュ、複製されたキャッシュ、およびパーティション-レプリカキャッシュ)を提供します インテリジェントセッションレプリケーション パフォーマンスとスケーラビリティを損なうことはありません。 これにより、Webサーバーまたはキャッシュサーバーがダウンしたときにセッションデータが失われることはありません。

  4. 高速コンパクトシリアル化: NCache 提供 高速コンパクトシリアル化 これは通常の.NETシリアル化よりも高速で、プログラミングを必要としません。 .NETクラスを登録するだけで NCache シリアル化ソースコードを生成し、アプリケーションがキャッシュに接続するときに実行時にメモリ内でコンパイルし、このコンパイルされたコードを後続のすべてのシリアル化に使用します。

複数のリージョン(データセンター)のサポート

NCache 複数のリージョン(データセンター)で実行されているアプリケーションのASP.NETセッション状態を管理し、それらの間でセッションの一貫性を維持するためのXNUMXつの方法を提供します。 彼らです:

  1. ASP.NETセッション状態のWANレプリケーション: NCache 提供 ブリッジトポロジ ASP.NETセッション状態ストア全体(分散キャッシュ)をWAN経由で他のリージョン(データセンター)に複製できるようにします。 これにより、セッションが常に複数のリージョン(データセンター)に存在することが保証されます。 これは、アクティブ-パッシブ(災害復旧用)またはアクティブ-アクティブモードで使用できます。 アクティブ-アクティブでは、複数のリージョン(データセンター)間でトラフィックの負荷を分散することもできます。 これはすべて、構成の変更を通じて行われます。

  2. マルチリージョンASP.NETセッション状態: 帯域幅の消費コストのためにWAN全体でASP.NETセッション状態を複製したくない場合は、これを使用することを選択できます マルチサイトASP.NETセッション状態 の特徴 NCache。 この場合、ASP.NETセッション状態はサイト間で複製されず、代わりにその作成場所に保持されます。 ただし、あるリージョン(データセンター)から別のリージョン(データセンター)にトラフィックを移動すると、ASP.NETセッション状態も一緒に移動します。

    これにより、XNUMXつ以上のアクティブなリージョン(データセンター)を作成し、トラフィックの大部分を独自のデータセンターに保持できますが、必要に応じて他のデータセンターにオーバーフローすることもあります。 また、他のデータセンターからセッションにアクセスできるため、ユーザーに中断を与えることなくXNUMXつのデータセンターを停止することもできます。

の高度な機能 NCache ASP.NETセッション状態プロバイダー

NCache ASP.NETセッション状態プロバイダーは、すべての標準ASP.NETセッション状態プロバイダー機能を実装します。 さらに、アプリケーションの複雑な状況を処理できるようにするさまざまな高度な機能を提供します。

  1. アプリドメイン間でセッションを共有する: 複数のアプリドメインを使用していて、アプリドメインごとに個別のweb.configファイルがある場合は、で同じ値を指定します。 sessionAppId=>"NCacheApp1" その結果、これらのアプリドメイン間でセッションが共有されます。 別のセッションアプリIDを使用する場合、セッションはアプリドメイン間で共有されません。

  2. エラーロギング: Webサーバー(INSTALL_DIR \内)のログファイルへのエラーログを有効にできます。NCache\ log-files \ SessionStoreProviderフォルダー)を指定して enableLogs = "true" 。 次のように指定して、Windowsイベントログへのエラーのログを有効にすることもできます。 writeExceptionsToEventLog = "true" .

  3. 標準セッションロック: 標準のASP.NETセッションロック動作では、セッションがロックされている場合、そのセッションに対する別の要求が90秒間待機し(構成可能)、最後にセッションを強制的にロック解除します。 このオプションは次のように指定できます。

     enableSessionLocking = "true" sessionLockingRetry = "-1" emptySessionWhenLocked = "false" 

  4. 強化されたセッションロック: ロボットがデータをスクレイピングし、同じセッションIDを数百または数千の要求に同時に使用する可能性があるトラフィックの多いASP.NETアプリケーションを使用している場合、90秒間待機すると使用可能なすべてのソケットが占有される可能性があるため、標準のセッションロックオプションを使用する余裕はありません。 代わりに、失敗を示すためにリクエストをすばやく返す必要があります。 これは次のように指定できます。

     enableSessionLocking = "true" sessionLockingRetry = "5" emptySessionWhenLocked = "false" 

    これにより、5秒間隔でXNUMX回再試行され、失敗を示すために空のセッションが返されます。 ここで例外をスローすることでさえ、コストがかかります。 そのため、空のセッションが実装されます。 この動作は元々、トラフィックの多い航空会社のWebサイトからの要求に基づいて実装されました。

次はどうする?

NCache 詳細
ダウンロード NCache
パーソナライズされたデモをリクエストする

お問い合わせ(英語)

電話
©著作権 Alachisoft 2002 - . All rights reserved. NCache はダイヤテック株式会社の登録商標です。