2016-08-16 7 views
0

SignalRは複数のサーバ間の接続をどのように管理しますか?私の知る限り、tcp接続(websocketの基礎となる技術)はサーバの親和性を持っています。SignalRがバックプレーンを使用して複数のサーバ間の接続を管理する方法は?

+1

は、次のWebサイトを参照してください。私はあなたが持っている可能性のある質問を説明することができます:http://www.hedralbychris.com/2013/10/31/signalr-overview-websockets-hubs/ – jdweng

+0

リンクした投稿は完全に無関係です。 (超基本的なもの) – SHM

答えて

1

基本的には、サーバーと直接通信するのではなく、「バックプレーン」を使用してクライアントと通信することにします。ご存じのように、SignalRの通常の基本モードは、1つのサーバーとクライアントの間にあるという点で「固定」であり、新しいサーバーに切り替えることはできません。これは、適切なサイトスケーリングを大きく妨げる。

Redis、SQL、Azure Service Busなど、いくつかのバックプレーンがサポートされています。

はSignalRとスケールアウトの良い概要についてはこちらの記事を参照してください。 http://www.asp.net/signalr/overview/performance/scaleout-in-signalr

+0

マッピングがどのように行われたか(ユーザをサーバにマッピングする)? – SHM

+1

@SHM基本的には接続IDで、カスタムの 'UserIdProvider'を使うこともできます。以前の質問で回答したように、接続IDに「サーバーID」はありません。すべてのメッセージはすべてのサーバーにブロードキャストされます。 –

関連する問題