-
Notifications
You must be signed in to change notification settings - Fork 10k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SignalR Redis Cluster scale-out: Message throughput scalability #46408
Comments
Can you clarify what the request is here? We don’t do anything(AFAIK) to make redis cluster scale better/worse that what it already does OOTB. We didn’t change the backplane implementation to take advantage of new sharded redis pubsub commmands. That is definitely something to look into.. |
The requests would be:
For a high availability setup with the current SignalR and Redis backplane OOTB, it might be more optimal to have an active-passive single instance Redis server setup as opposed to a cluster. That is, you use a single instance as the backplane, and in a fail-over a different single instance is promoted from passive to active, and thus there is no message propagation to N number of nodes.
|
We looked at sharded pub/sub when checking if clustering works, but we have to wait until the redis library we're using supports it (StackExchange/StackExchange.Redis#2055).
The docs are open source 😃 feel free to send a PR to update them, or file an issue on the docs repo with some recommended content. |
Some relevant notes:
|
Docs were updated, thanks @VilleKylmamaa! |
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:
to
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.
The text was updated successfully, but these errors were encountered: