Reputation: 1952
how SignalR manages connections between multiple servers? as far as i know tcp connection (which is the underlying technology of websocket) has server affinity.
Upvotes: 0
Views: 1169
Reputation: 2912
Basically you fallback on using a "Backplane" to communicate with clients instead of direct server -> client communication. As you are aware, the normal, basic mode of SignalR is "sticky" in that it is between one server and the client, and switching to a new server isn't possible. This greatly impedes proper site scaling.
Theres a few different backplanes supported, including Redis, SQL, and Azure Service Bus.
See this article for a good overview of scaling out with SignalR: http://www.asp.net/signalr/overview/performance/scaleout-in-signalr
Upvotes: 1