Hmm Sie könnten etwas wie den Connection Mapper mit einer Rückwandplatine nicht verwenden. Das Problem bei In-Memory-Mapping ist, dass Sie nicht zwischen den Knoten kommunizieren können, ohne Ihre Datenbanktabelle zu verwenden, aber das wäre auch schmerzhaft (ein Nachschlagen in der Datenbank für jede gesendete Nachricht?).
Sie würden besser mit Gruppen (dh Hinzufügen jedes Benutzers aus der Firma ABC zu der "ABC" -Gruppe - oder vielleicht verwenden Sie eine eindeutige ID wie CompanyId aus einer Datenbanktabelle. Sobald Sie es mit Gruppen auf ein Knoten, dann können Sie mit einem Backplane starten ...
Gruppen docs: http://www.asp.net/signalr/overview/guide-to-the-api/working-with-groups
Aber dann wieder gibt es Probleme mit einer Backplane - also das, was tun Sie hoffen, eine Backplane zu erreichen mit Schauen Sie sich auf? Was SignalR beschreiben als die Grenzen der Verwendung einer Backplane in http://www.asp.net/signalr/overview/performance/scaleout-in-signalr. Backplane Scaleout ist ein Schmerz, da es eine gute Chance, dass es eine unteren Chaos haben kann Altersdurchsatz und höhere Latenz als ein einzelner Knoten schenario ... Im Beispiel eines Spiels - Sie könnten besser sein, jeder Knoten völlig unabhängig zu sein und Benutzer zum richtigen Knoten führt (so Knoten A Hosts Spiele 1 - 8 , und Knoten B beherbergt Spiele 9 - 16)
Meinst du [Backplane] (http://www.asp.net/signalr/overview/performance/scaleout-in-signalr)? – hometoast
ja. Rückwandplatine. Auch nicht sicher, "Backplane" und Verbindungen beziehen sich. Oder sie tun es überhaupt nicht. Ich würde immer noch die gleiche ConnectionMapper-Klasse verwenden und die Backplate würde wissen, an welchen Benutzer die Nachricht gesendet werden soll? – ShaneKm