ブレイザー .NETを使用してインタラクティブなWebUIを作成しようとしている組織によって急速に採用されています。 これにより、JavaScriptの煩わしさを経験する代わりに、C#を使用してアプリケーションを作成でき、サーバー側とクライアント側のすべてのロジックが.NETスペースに統合されます。
BlazorはASPを使用しています.NET Core クライアントとサーバー間のメッセージングのためのSignalR実装。 同じプロセスであるため、トランザクション数が多くなるか、サーバーのクライアント負荷が増加すると、スケーリングできなくなります。 さらに、負荷分散された環境でバックプレーンとして使用することはできません。 リアルタイムおよびマルチユーザーアプリケーションの場合、これがボトルネックになる可能性があります。
At NCache、に関するご要望を頂いております NCache Blazorアプリでのサポート。 はい、 NCache Blazorアプリケーションに簡単に統合できます。 NCache ASP.NET/ASPを実装するメモリ内分散キャッシュです.NET Core SignalR Backplane トラフィックの多いリアルタイムのWebアプリケーション向け。 分散されているため、増加する要求を処理するように拡張でき、ボトルネックにはなりません。 さらに、 NCache SignalRは強力な Pub/Subメッセージング あるWebサーバーから別のWebサーバーにメッセージを送信する機能。 図1は、その方法を示しています NCache としてBlazorアプリケーションに適合します SignalR Backplane:
簡単にするために、BlazorSignalRサンプルの実装を使用しました。 Microsoft、および統合 NCache として SignalR backplane 既存のアプリケーションで。 を使用したBlazorの実行中の実装 NCache SignalR backplane にアップロードされます GitHubの.
使い方 NCache SignalR Backplane Blazorで
統合 NCache as SignalR Backplane は非常にシンプルで、既存のBlazorアプリケーションにコードを変更する必要はほとんどありません。
ステップ1:キャッシュを作成する
Blazorアプリで使用するには NCache、として機能するキャッシュを作成する必要があります SignalR backplane。 ダウンロードとインストール NCache で説明されているように インストールガイド。 次のいずれかを使用して、キャッシュを作成および開始できます NCache 管理ツール:
このアプリケーションでは、「」という名前のキャッシュを作成しました。ブレイザー」は、Blazorアプリケーションで使用されます。
手順2:構成 NCache as SignalR Backplane
In スタートアップ.cs のBlazorアプリケーションの BlazorSignalRApp.Server プロジェクトの場合、構成するには次の行を追加する必要があります NCache as SignalR Backplane、それだけです:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
public void ConfigureServices(IServiceCollection services) { //...Configure NCache as SignalR Backplane services.AddSignalR().AddNCache(ncacheOptions => { ncacheOptions.CacheName = "blazor"; ncacheOptions.ApplicationID = "chat"; }); //...Blazor code services.AddControllersWithViews(); services.AddResponseCompression(opts => { opts.MimeTypes = ResponseCompressionDefaults.MimeTypes.Concat( new[] { "application/octet-stream" }); }); } |
NCache 詳細 Blazorアプリ NCache NCache SignalRドキュメント
なぜ NCache?
Blazorアプリケーションのトラフィックが多く、負荷分散されたマルチサーバーWebファームで実行されている場合は、 NCache として SignalR Backplane アプリケーションには、次の利点があります。
- .NET Pub / Subメッセージング: NCache は機能豊富な分散キャッシュであり、堅牢なPub/Subメッセージング機能を提供します。 SignalR Backplane でこれらのメッセージング機能を使用します NCache Webファーム内の他のサーバーにメッセージを送信します。
- 100%.NET / .NET Core キャッシュ: ネイティブの.NET分散キャッシュであるため、 NCache ASP.NET/ASPにシームレスに適合します.NET Core アプリケーションスタックを使用して、開発と保守のコストを削減します。
- 非常に高速でスケーラブル: NCache はメモリ内にあるため、非常に高速です。 その分散型の性質は線形のスケーラビリティを提供します。そのため、ピーク負荷の下でもBlazorアプリケーションのパフォーマンスのボトルネックになることはありません。
- 高可用性: NCache 動的で自己回復型であり、単一障害点のないピアツーピアクラスタリングアーキテクチャを提供します。
- グループとユーザーのサポート: 使い方 NCache として SignalR backplane 関連する接続のコレクションであるSignalRグループへのメッセージの送信を容易にします。 また、 NCache メッセージバスとして、特定のSignalRユーザーに関連付けられているすべての接続にメッセージを送信することもできます。
まとめ
使い方 NCache として SignalR Backplane Blazorアプリでは、非常にシームレスなプロセスです。 設定する必要があるのは NCache として SignalR backplane 2行のコードを含む既存のBlazorアプリケーションでは、残りは NCache 自体。 Blazorの使いやすさと NCache 統合により、スムーズなエクスペリエンスを保証できます。