2016-08-29 16 views
0

私たちは環境をスケールアウトしようとしています。私は接続の一覧を維持するために、http://www.asp.net/signalr/overview/guide-to-the-api/mapping-users-to-connectionsのようなConnectionMapperクラスを使用していました。バックプレーンとのSignalR接続

クラスタ(2ノード)でこの作業を行うにはどうすればよいですか?私はバックプレーンを実装しますか? http://www.asp.net/signalr/overview/performance/scaleout-in-signalr

そして、接続マッピングをSQL DBに移動しますか?

これはMVCアプリケーション向けです。

+0

あなたは[backplane](http://www.asp.net/signalr/overview/performance/scaleout-in-signalr)を意味しますか? – hometoast

+1

はい。バックプレーン。また、「バックプレーン」と接続が関連しているかどうかはわかりません。あるいは、彼らはまったくではありません。私はまだ同じConnectionMapperクラスを使用し、バックプレートはどのユーザーにメッセージを送信するかを知っていますか? – ShaneKm

答えて

1

ええ、あなたはバックプレーンでConnection Mapperのようなものを使用できませんでした。このようなメモリ内マッピングの問題は、データベーステーブルを使用せずにノード間で通信することができないことですが、それは苦痛になります(送信されるメッセージごとにdbの参照?)。

グループを使用すると、ABC社の各ユーザーを「ABC」グループに追加することができます。または、データベーステーブルからcompanyIdなどの一意のIDを使用することもできます。 1つのノードが、あなたは...バックプレーンを使用して起動することができます

グループのドキュメント:http://www.asp.net/signalr/overview/guide-to-the-api/working-with-groups

しかし、その後、再びバックプレーンを使用してに問題がある - つまり、あなたがバックプレーンを使用して達成したいと考えていませんを見てみましょう? SignalRがバックプレーンを使用する場合の制限事項をhttp://www.asp.net/signalr/overview/performance/scaleout-in-signalrに記載しています。バックプレーンのスケールアウトには痛みがあり、が混乱する可能性があります年齢のスループット単一ノードのシナリオよりも高い待ち時間 ...ゲームの例では、各ノードを完全に独立させ、正しいノードに誘導するほうがよいでしょう(ノードAはゲーム1から8をホストします、ノードBはゲームをホストします9 - 16)

関連する問題