5

Our application uses SignalR. We need to support load balanced deployment for high availability. We also use clustered Redis for caching in our app.

We are thinking of using the same Redis cluster as SignalR backplane to scale out.

But the GlobalHost.DependencyResolver.UseRedis() doesn't support multiple servers to be passed as arguments.

Please guide us on how to achieve the same if it is possible ?

Devrath N D
  • 601
  • 2
  • 8
  • 19

2 Answers2

3

Instead of adding specific redis server/port in the the UseRedis() function, send in a RedisScaleoutConfiguration which will take in a string as the connection string to redis. This connection string will take in multiple servers. Works like a champ!

Rodney Pannell
  • 330
  • 5
  • 16
  • so are you saying the Redis cluster will work? because the signalR documentation says differently. Could you confirm? – BipinR Mar 29 '21 at 04:37
0

According to SignalR Documentation, this is not possible:

SignalR scaleout with Redis does not support Redis clusters.

  • 1
    So what is the option here, I am using redis cluster for my we application and want to configure the SignalR backplane on Redis, so should I go for redis single instance. – Ashish Shukla Jul 31 '18 at 04:53
  • Or look into a loadbalancer between your web application and the redis cluster? – TChadwick Apr 01 '20 at 21:59
  • Now they say [clustering "might" work](https://learn.microsoft.com/en-us/aspnet/core/signalr/redis-backplane?view=aspnetcore-6.0#redis-clustering) – thepirat000 Apr 17 '22 at 23:59