What If SignalR hub is hosted on multiple server?

I think in SignalR 2.0 you can take a look at Introduction to Scaleout in SignalR.

I have not tested it, but the docs report that for example Microsoft.AspNet.SignalR.SqlServer will handle load balancing for you using SQL server.

Ref: http://www.asp.net/signalr/overview/signalr-20/performance-and-scaling/scaleout-in-signalr

EDIT

Currently I'm using in production the REDIS backplane and it's simply great, simple to setup and inject in your code https://docs.microsoft.com/en-us/aspnet/signalr/overview/performance/scaleout-with-redis


Yes, but you need to use a backplane. There are a few supported ones, such as Redis or SQL.

I have used the SQL backplane which uses a table and a BLOB data column that will sync any users/groups/hubs/messages between all instances of SignalR. On application_start, you just add a single line of code to use the SQL backplane and it's all taken care of for you behind the scenes.

If performance is of extreme concern, go with Redis. If you want simplicity and ease of configuration, go with SQL.

http://www.asp.net/signalr/overview/signalr-20/performance-and-scaling/scaleout-with-sql-server