Description
Hello,
Currently, the way to scale out SignalR servers is to rely on a backplane.
Unfortunately, this backplane cannot be made redundant by using a Redis Cluster because the current behavior of SignalR is to use Subscribe/Publish commands which are not relayed to the other nodes of a redis cluster
Redis 7 introduced SSubscribe & SPublish which is a pub sub mecanism compatible with cluster (aka messages are relayed to every node of the cluster)
https://redis.io/docs/manual/pubsub/#sharded-pubsub
This could be a way to support Redis Clusters
The current status is that StackExchange.Redis does not support those new commands, but work is tracked here:
StackExchange/StackExchange.Redis#2055
Hopefully, once the work is done on StackExchange.Redis side, SignalR can pickup from there to use those new features
For reference: #7814 (comment)
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.
- ID: c548355c-d88f-b941-0622-56732973123b
- Version Independent ID: bddd7575-422d-4342-af48-f6b0979fb69a
- Content: Redis backplane for ASP.NET Core SignalR scale-out
- Content Source: aspnetcore/signalr/redis-backplane.md
- Product: aspnet-core
- Technology: aspnetcore-signalr
- GitHub Login: @bradygaster
- Microsoft Alias: bradyg