-
Notifications
You must be signed in to change notification settings - Fork 10.6k
Description
Hello,
This issue is concerning the scalability of running a Redis Cluster as a backplane for SignalR.
Here is the official documentation: https://learn.microsoft.com/en-us/aspnet/core/signalr/redis-backplane?view=aspnetcore-7.0
I noticed that the documentation regarding Redis Clustering was changed last month from:
Redis Clustering is a method for achieving high availability by using multiple Redis servers. Clustering isn't officially supported, but it might work.
to
Redis Clustering is a method for achieving high availability by using multiple Redis servers. Clustering is supported without any code modifications to the app.
While the Redis Cluster of course enables high availability, usually its purpose is also to enable horizontal scaling (for example in caching context).
Was throughput scalability testing of the backplane run with the Cluster, and is there an implementation to make the throughput scale out? I bring concern to this because Redis did Pub/Sub benchmarks with a standard Cluster and the results were that the throughput decreases with each additional node in the Cluster (source video, and source slides). If not yet implemented, horizontal scaling of the Redis backplane might be possible with the Sharded Pub/Sub.
If there is no testing or implementation, should this be mentioned in the documentation? Because if so, clustering without any code modifications will result in negative scaling of message throughput in the Cluster with each additional node.