对于聊天应用程序,我使用带有 SignalR 的 Azure 架构,网络角色充当 SignalR 服务器(消息不是广播类型,而是针对特定用户/客户端)。
我想与 Web 角色一起扩展 SignalR 服务器,以处理繁重的用户负载。虽然,SignalR 文档不建议使用使用背板(Redis、服务总线)的预烘焙 SignalR 横向扩展方法,因为当连接更多用户时消息数量增加(或在用户事件驱动的场景中)。它明确指出:“客户端到客户端(例如,聊天):在这种情况下,如果消息数量与客户端数量成比例,那么背板可能会成为瓶颈;也就是说,如果消息的速率随着更多客户加入。”
问题: 有没有人知道针对这种高频情况的任何自定义横向扩展解决方案,它不会将消息推送到每个服务器实例或其他横向扩展解决方案?
已经在 SignalR 文档和相关视频中到处查看,但找不到任何东西,除了一个词“过滤总线”,没有解释它是什么以及应该如何使用它。