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

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

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

アーキテクチャ図 NCache 線形にスケーラブルな動的キャッシュ クラスターに接続されたステートレス Web サーバー層を示す、Web ファーム環境の ASP.NET セッション状態プロバイダー。
NCache ASP.NET Web ファームの分散セッション アーキテクチャ。

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

実装 NCache セッション状態プロバイダー(SSP)はコードの変更を必要としません。以下の手順に従うだけで済みます。

  1. インストールを開始する   NCache NuGet パッケージ マネージャー経由のセッション プロバイダー NuGet パッケージ。
  2. 構成 web.config ファイルで「カスタム」セッション モードを使用します。
  3. 指定 NCache プロバイダー構成内のクラスター名と設定。

設定の詳細については、 ASP.NETセッション状態プロバイダー の NCache. 使用することで得られるメリットは以下のとおりです。 NCache ASP.NETセッション状態プロバイダーとして:

  1. 高可用性:NCache ています 自己修復型ピアツーピアクラスタリングアーキテクチャ 単一障害点がないため、ASP.NETセッション状態ストレージの100%の稼働率を実現できます。これはビジネスクリティカルなアプリケーションにとって非常に重要です。これらの高可用性機能により、 NCache トランザクションの整合性を確保するためにセッションの永続性が不可欠な、電子商取引、金融サービス、医療のミッションクリティカルなアプリケーションに最適な選択肢です。
  2. 線形スケーラビリティ:NCache あなたがすることができます キャッシュクラスターを線形にスケーリングする クラスタにキャッシュサーバーを追加します。 これにより、トランザクション容量とストレージ容量が増加します。 つまり、ASP.NETセッション状態ストレージは、トランザクションの負荷が高い場合にアプリケーションのボトルネックになることはありません。
  3. インテリジェントセッションレプリケーション:NCache 豊富なキャッシュトポロジーを提供します(ミラーリングされたキャッシュ, 複製されたキャッシュ, パーティション-レプリカキャッシュ)は、パフォーマンスとスケーラビリティを損なうことなく、インテリジェントなセッションレプリケーションを実現します。これにより、Webサーバーやキャッシュサーバーがダウンした場合でも、セッションデータが失われることはありません。
  4. 高速コンパクトシリアル化:NCache 提供 コンパクトなシリアル化 これは通常の.NETシリアル化よりも高速で、プログラミングも不要です。.NETクラスを登録するだけで、 NCache 効率的に使用できるように、実行時にシリアル化コードを自動生成およびコンパイルします。

複数の地域 (データ センター) にわたって ASP.NET セッションを管理する方法

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

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

  2. マルチリージョンASP.NETセッション状態: 帯域幅の消費コストを考慮してASP.NETセッション状態をWAN経由で複製したくない場合は、 マルチサイトASP.NETセッション状態 の特徴 NCacheこの場合、ASP.NETセッション状態はサイト間で複製されず、作成場所に保持されます。ただし、トラフィックをあるリージョン(データセンター)から別のリージョン(データセンター)に移動すると、ASP.NETセッション状態もそれとともに移動します。これにより、2つ以上のアクティブなリージョン(データセンター)を持つことができ、各リージョンはトラフィックの大部分をローカルに保ちながら、必要に応じて時折別のリージョンにオーバーフローさせることができます。

    また、ユーザーのセッションは他のデータセンターからアクセスできるため、ユーザーに中断を与えることなく 1 つのデータセンターを停止することもできます。

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

その NCache ASP.NETセッション状態プロバイダは、すべての標準を実装しています。 ASP.NETセッション状態プロバイダー 機能。さらに、アプリケーション内の複雑な状況に対応するためのさまざまな高度な機能も提供します。

  1. アプリケーション ドメイン間でセッションを共有する: アプリケーションが複数のアプリケーションドメインを別々の web.config ファイルに同じ sessionAppId を設定します(例: "NCacheこれらすべてのアプリケーションで「セッション アプリ ID」に「App1」を指定すると、それらのドメイン間でのセッション共有が有効になります。異なるセッション アプリ ID を使用すると、アプリケーション ドメイン間でセッションは共有されません。
  2. エラーロギング: 有効にすることができます エラーログ ウェブサーバー上のログファイル( INSTALL_DIR\NCache\log-files\SessionStoreProvider フォルダを指定して enableLogs = "true"。 次のように指定して、Windowsイベントログへのエラーのログを有効にすることもできます。 writeExceptionsToEventLog = "true".
  3. 標準セッションロック: ASP.NETの標準的なセッションロック動作では、セッションがロックされている場合、そのセッションに対する別のリクエストは90秒間(設定可能)待機し、終了時にセッションを強制的にロック解除します。このオプションは次のように指定できます。

    enableSessionLocking = "true" sessionLockingRetry = "-1" emptySessionWhenLocked = "false"
  4. 強化されたセッションロック: トラフィック量の多いASP.NETアプリケーションで、ロボットがデータを取得し、数百、数千ものリクエストに同じセッションIDを同時に使用する可能性がある場合、90秒も待つと利用可能なソケットがすべて占有されてしまうため、標準のセッションロックオプションを使用する余裕はありません。代わりに、リクエストを迅速に返して失敗を通知する必要があります。これは次のように指定できます。

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

    これにより、0.5 秒間隔で 5 回の再試行が行われ、失敗を示す空のセッションが返されます。

  5. エンタープライズユースケース: この強化されたロック動作は、トラフィック量の多い航空会社の Web サイト向けに特別に設計されており、集中的なロボット スクレイピングや同時実行性の高いイベント中にシステム全体のソケットが枯渇するのを防ぎます。

次はどうする?

よくある質問(FAQ)

はい。各アプリケーションのweb.configで一致するsessionAppIdを設定することで、 NCache 異なるアプリケーションドメイン間でセッション状態を共有できます。これは、ユーザーが同一セッション内で複数のサブアプリケーション間を移動する環境に最適です。

Yes. NCache は、セッション管理のための「ゼロコード」ソリューションです。web.configファイルを修正して、sessionStateモードを「カスタム」に変更し、 NCache プロバイダー。アプリケーションの再コンパイルは必要ありません。

NCache インテリジェントなセッションレプリケーションを備えた自己修復型のピアツーピアクラスタリングアーキテクチャを採用しています。パーティションレプリカなどのトポロジを使用することで、 NCache 各セッションのバックアップを別のノードに作成し、Web サーバーまたはキャッシュ サーバーがダウンした場合でも 100% の稼働時間とデータの整合性を保証します。

NCache はメモリ内の分散キャッシュですが、SQL Server はディスクベースのデータベースです。 NCache SQL Server に関連するデータベースのボトルネックと大量のシリアル化コストを排除し、線形のスケーラビリティとセッション取得のミリ秒未満の応答時間を実現します。

Yes. NCache マルチリージョン サポートには、アクティブ/パッシブまたはアクティブ/アクティブの災害復旧のための WAN レプリケーション (ブリッジ トポロジ経由) と、セッションをユーザーに対してローカルに維持しながら、トラフィックが再ルーティングされた場合にデータ センター間を移動できるようにするマルチサイト セッションという 2 つの主な機能があります。

お問い合わせ

電話

+1 214-619-2601 (米国)

+44 20 7993 8327 (英国)

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