SignalR バックプレーン (ASP.NET Core 用)

NCache は、ASP.NET Core 用の高性能 SignalR バックプレーンとして機能し、リアルタイム Web アプリケーションがパフォーマンスのボトルネックなく、マルチサーバー Web ファーム全体で線形にスケーリングできるようにします。リアルタイム ASP.NET Core SignalR アプリケーションは、高頻度更新のためにサーバー間でメッセージを分散します。このようなアプリケーションの例としては、オンライン ゲーム、ライブ財務ダッシュボード、共同作業用ホワイトボード、オークション アプリ、ソーシャルメディア ネットワーク、およびリアルタイムのインタラクションが重要なその他の同様のプラットフォームが挙げられます。マルチサーバー環境でシームレスなスケーラビリティを確保するために、SignalR はバックプレーン メカニズムを使用してメッセージを効率的に分散します。 NCache 強力でスケーラブルな SignalRバックプレーン この目的のために。

NCache   分散キャッシング ASP.NET Core SignalRとシームレスに連携し、リアルタイムWebアプリケーションをサポートするソリューション。負荷分散されたマルチサーバー環境で実行することで、効果的な拡張性とパフォーマンス向上を実現します。 NCache 高度な Pub/Subメッセージング SignalR が複数のサーバー間でメッセージを効率的に配布できるようにする機能。

NCache SignalRバックプレーンのアーキテクチャ図。負荷分散されたWebファーム全体にPub/Subメッセージをブロードキャストする様子を示しています。
図1: リアルタイムメッセージ配信フロー NCache SignalRバックプレーンとして。
 

使い方 NCache SignalRバックプレーンとして

ASP.NET Core アプリケーションを構成すれば、 NCache SignalRバックプレーンとして 高いスケーラビリティとスムーズなメッセージ配信を実現します。 NCache SignalRバックプレーンとして設定するのは簡単です。以下に概説するように、いくつかの設定手順を実行するだけで済みます。

  1. インストール NCache SignalR NuGet パッケージ

    加えます NCache SignalR NuGet パッケージをプロジェクトに追加します。

    Install-Package AspNetCore.SignalR.NCache
  2. appsettings.jsonを変更する

    コマンドを適宜修正する NCache 構成設定 アプリ設定.json ファイル:

    {
      "NCacheConfiguration": {
        "CacheName": "demoCache",
        "EventKey": "chat",
      }
    }
  3. 会員登録する NCache SignalRバックプレーンとして

    修正します プログラム.cs SignalRを使用するように設定するには NCache バックプレーンとして:

    using Alachisoft.NCache.AspNetCore.SignalR;
    
    var builder = WebApplication.CreateBuilder(args);
    
    // Bind NCache configuration section
    builder.Services.Configure<NCacheConfiguration>(
        builder.Configuration.GetSection("NCacheConfiguration"));
    
    // Register SignalR with NCache backplane
    builder.Services.AddSignalR().AddNCache(ncacheOptions =>
    {
        ncacheOptions.CacheName = builder.Configuration["NCacheConfiguration:CacheName"];
        ncacheOptions. EventKey = builder.Configuration["NCacheConfiguration: EventKey"];
    });
    
    var app = builder.Build();
    
    // Map your SignalR hub endpoint directly 
    app.MapHub<YourSignalRHub>("/your-hub");
    
    app.Run();
 

なぜ使うの? NCache SignalRバックプレーンとして使用できますか?

ASP.NET Core アプリケーションが高トラフィックを経験し、負荷分散されたマルチサーバー Web ファームで動作している場合は、統合を検討する必要があります。 NCache SignalR バックプレーン ソリューションとして。データベース ロックによりボトルネックになる可能性がある SQL Server バックプレーンとは異なり、 NCache メモリ内分散によりレイテンシを削減します。さらに、ネイティブ.NETであるため、非ネイティブソリューションでよく見られるシリアル化のオーバーヘッドを回避できます。 Redis. NCache は、強力な .NET 分散キャッシュとして際立っており、次のような利点があります。

  1. .NET Pub/Sub メッセージングで配信遅延を解消: NCache SignalRバックプレーンは、マルチノード環境において複数のWebサーバー間でメッセージを効率的に配信するために、パブリッシュ/サブスクライブ(Pub/Sub)メッセージング機能を使用します。
  2. グループとユーザーのサポート: NCache 関連する接続のコレクションである SignalR グループにメッセージを送信できます。また、特定の SignalR ユーザーにリンクされているすべての接続にターゲットを絞ったメッセージを送信することもできます。
  3. 100% .NET ネイティブ キャッシュ: 元々C++で開発され、後にWindows向けに適応された他のキャッシュソリューションとは異なり、 NCache .NET用にネイティブに構築されているため、スムーズな互換性と完全に統合されたエクスペリエンスが保証されます。 ASP.NETコア 分野の様々なアプリケーションで使用されています。
  4. 非常に高速かつスケーラブル: Since NCache はメモリ内の分散キャッシュであり、レイテンシを大幅に削減し、線形スケーラビリティを保証します。これにより、アプリケーションはパフォーマンスのボトルネックなしで大量のメッセージ スループットを処理できます。
  5. 高可用性とデータの信頼性: NCache 提供しています 自己回復 単一障害点のないピアツーピアクラスタリングアーキテクチャ。また、スマートな データ複製 レプリケーションコストを低く抑えながら、キャッシュサーバーがダウンした場合のデータ損失を防ぎます。
  6. 導入の柔軟性: NCache あらゆる環境にシームレスにフィットし、 デッカー (Windows および Linux コンテナ) Kubernetes, Red Hat OpenShift、Azure、AWS、Google Cloud のデプロイメント、およびオンプレミスの Windows/Linux サーバー。

次はどうする?

についてもっと調べる NCache そして、ASP.NET Core SignalRアプリケーションにとってのメリットは以下のとおりです。

使用することにより、 NCacheこれにより、ASP.NET Core SignalR アプリケーションは、複数のサーバー間でリアルタイムのパフォーマンスを維持しながら、容易にスケールアップできます。

よくある質問(FAQ)

マルチサーバーウェブファームでは、クライアント接続は特定のサーバーに分離されます。バックプレーンがないと、あるサーバーから送信されたメッセージは別のサーバー上のクライアントに届きません。 NCache Pub/Sub メッセージ ブローカーとして機能し、すべてのサーバーにメッセージを即座に配信して、すべてのユーザーのリアルタイム同期を保証します。

取消 RedisLinuxベースの NCache 100%ネイティブ.NETです。これにより相互運用シリアル化のオーバーヘッドがなくなり、 NCache 個別の Linux 環境や複雑なクラスタリング構成を必要とせずに、既存の .NET スタックにシームレスに適合します。

サーバー側の統合は最小限です。 AspNetCore.SignalR。NCache NuGetパッケージを作成し、構成ブロックを追加します appsettings.json重要なのは、クライアント側のコード (JavaScript/Blazor) を変更する必要がないため、移行が簡単になることです。

お問い合わせ

電話

+1 214-619-2601 (米国)

+44 20 7993 8327 (英国)

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