【发布时间】:2013-09-15 00:10:29
【问题描述】:
我的工作人员使用服务总线主题将消息广播到我的所有 Web 实例。 然后,每个 Web 实例负责使用 SignalR 将这些消息流式传输给连接的用户。
我的问题是 SignalR 还使用服务总线向应用程序范围内的连接用户显示它自己的消息(这很棒!)。因此,每个 Web 实例将来自工作人员的消息“重新转发”到服务总线,从而产生以下问题: 1. 消息向每个连接的客户端传输 X 次(X = Web 实例的数量) 2. 每小时有数十万(最多数百万)条消息,每条消息通过Service Bus X+1 次(1 次来自worker + X 次因为SignalR),导致更多(无用)Service Bus 成本
=> 我正在寻找一种方法来告诉 SignalR 仅将特定消息流式传输到它自己连接的客户端,而不使用背板。使用 Queue 将消息从工作人员发送到 Web 实例而不是 Topic 部分解决了问题(消息只流式传输到客户端一次,但消息仍然通过 Service Bus 两次)。
有什么解决办法吗? 谢谢!
【问题讨论】:
标签: c# asp.net azure signalr azureservicebus