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

In ASP.NETコア アプリケーション、 セッション状態 ユーザー固有のデータを保存するには不可欠ですが、デフォルトのセッション プロバイダーはトラフィック量が多いと速度が低下し、パフォーマンスとスケーラビリティに問題が生じる可能性があります。

ASP.NET Coreセッションを強化する

NCache ASP.NET Core セッションプロバイダー これらの問題は、インメモリの分散キャッシュソリューションを提供することで解決します。 高可用性信頼性、そして スケーラビリティ セッションデータ用。 NCacheセッション ストレージは高速かつ応答性に優れた状態が維持され、アプリケーションの再起動やサーバー障害によるセッション損失がなくなります。

NCache WebファームにおけるスケーラブルなASP.NET Coreセッションストレージのアーキテクチャ図。
図1:線形スケーラビリティを示す分散型ASP.NET Coreセッションステートアーキテクチャ。

使用する主な利点 NCache セッション用

  • パフォーマンスの向上: NCache セッションデータをメモリに保存するため、アプリケーションはミリ秒未満のレイテンシと優れた応答性を実現します。セッションは低速なデータベースにアクセスすることなく迅速に取得されるため、シームレスなユーザーエクスペリエンスが実現します。
  • レプリケーションによる高可用性: セッションデータは失われません。 NCache 複数のキャッシュ サーバー間でセッション データのレプリケーションを保証し、自動フェイルオーバーをサポートすることで、ミッション クリティカルなアプリケーションにフォールト トレラントで可用性の高いソリューションを提供します。
  • 線形スケーラビリティ: トラフィックが増えれば、 NCache サーバーをクラスターに追加します。これにより、パフォーマンスを低下させることなくセッションストレージを動的に拡張できるため、Webアプリケーションは増加するワークロードを問題なく処理できるようになります。
  • 速度の最適化: NCache 効率的な コンパクトなシリアル化メカニズム これにより、最小限のオーバーヘッドでセッション データの保存と取得が非常に高速になります。

NCache デフォルトのSQLセッションプロバイダーと比較

  • ストレージ: インメモリ(NCache) vs. ディスクベース (SQL)
  • スケーラビリティ: 線形スケーリング(NCache) vs. ボトルネックが発生しやすい (SQL)
  • ロッキング: 分散ロック(NCache) vs. 行ロック (SQL)

ASP.NET Coreセッションのシームレスな構成

統合 NCache ASP.NET Core のセッション プロバイダーとして設定するのは簡単です。 プログラム.cs 次のスニペットを使用してファイルを作成します。

var builder = WebApplication.CreateBuilder(args);

// Add services to the container
builder.Services.AddControllersWithViews();

// Set up MVC Services
builder.Services.AddMvc();

// Configure NCache Session State
builder.Services.AddNCacheSession(options =>
{
      options.CacheName = "demoCache";
      options.EnableLogs = true;
      options.UseJsonSerialization = true; // To avoid the Binary Format error
      options.SessionAppId = "demoApp";
      options.SessionOptions.IdleTimeout = 5; // Session expires after 5 minutes
      options.SessionOptions.CookieName = "AspNetCore.Session";
});

このシンプルな構成で、 ASP.NET Core セッション シームレスに保存され、 NCache、SQLベースのセッションストレージが不要になります。最も重要なのは、既存のコントローラーやアプリケーションロジックにコード変更を一切必要としないことです。

複数の地域/ゾーンでのセッション

  • WANレプリケーション ASP.NET Core セッションについて: NCache この機能により、すべての ASP.NET Core セッションを広域ネットワーク (WAN) 経由で別のリージョンまたはデータセンターに複製できます。特定のリージョンまたはゾーンでダウンタイムが発生した場合でも、セッションが失われることはありません。
  • マルチサイト ASP.NET セッション状態: WANを介してすべてのセッションを複製すると帯域幅が大量に消費される可能性があるシナリオでは、 NCache 提供しています マルチサイトセッション機能この設定では、セッション データは元の場所に残りますが、トラフィックが別のリージョンまたはゾーンにリダイレクトされた場合、ユーザーとともにシームレスに移動できます。このアクティブ/アクティブ展開アプローチにより、不要なデータ複製なしでアプリケーションがスムーズに実行されます。

これらの機能を活用することで、 NCache アプリケーションのセッション管理が回復力があり、スケーラブルで、マルチリージョン展開に最適化されていることを保証します。

高度なセッション機能

  • 分散セッションロック(データ整合性): NCache 優れた制御を提供します セッションロック 高いパフォーマンスを維持しながら、同時セッション更新の競合を回避します。
  • 診断ログと監視: セッション関連の問題を簡単にトラブルシューティング 詳細なログ. NCache 詳細なデバッグと モニタリング セッションストレージをスムーズに実行し続けるためです。

実際のユースケース

NCache 高トラフィックのASP.NET Coreアプリケーションに最適です。例えば、以下のようなアプリケーションが挙げられます。

  • 電子商取引の Web サイト: 高速セッション ストレージを使用して数百万の同時ユーザーを同時に処理し、シームレスなショッピング体験を保証します。
  • オンライン バンキング プラットフォーム: 安全な取引をサポートし、 ユーザ認証、可用性が高く安全なセッションを提供します。
  • マルチサーバーアプリケーション: 複数のサーバー インスタンス間でセッションの一貫性を維持し、分散環境でのスムーズな操作を保証します。
  • 分散型 Web アプリ: 信頼性の高いセッション レプリケーションを使用してクラウド環境とハイブリッド環境でアプリケーションを実行し、マルチリージョン展開をサポートします。

始める NCache

統合 NCache ASP.NET Core セッションプロバイダー 今すぐ利用して、セッション管理を次のレベルに引き上げましょう。

次はどうする

よくある質問(FAQ)

はい、 NCache 標準のASP.NET Coreを実装します IDistributedCache インターフェース。これにより、 NCache 既存のコントローラー コードを変更することなく、標準セッションの代替としてアプリケーションに組み込むことができます。

NCache セッションデータを完全にメモリ内に保存し、ディスクI/Oのボトルネックを排除することで、SQL Serverよりも大幅に高いパフォーマンスを実現します。SQLデータベースとは異なり、 NCache 線形スケーラビリティとミリ秒未満のレイテンシを提供し、トラフィックのピーク時でも一貫したパフォーマンスを保証します。

いいえ、アプリケーションの再起動中にセッションが期限切れになったり消滅したりすることはありません。 NCache プロセス外サービスとして実行されるため、Web サーバーまたはアプリケーション プロセスが再起動しても、セッション データは分散キャッシュ クラスターに安全に保存されたままになります。

はい、 NCache マルチリージョン展開におけるWANレプリケーションをサポートします。災害復旧のためのアクティブ/パッシブレプリケーションと、アクティブ/アクティブ(マルチサイト)セッション共有を提供し、セッションロスなしでトラフィックをリージョン間でシームレスに移動できます。

お問い合わせ

電話

+1 214-619-2601 (米国)

+44 20 7993 8327 (英国)

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