我们计划将 SignalR 与 Windows Azure Service Bus 一起用于需要实时客户端更新(浏览器)的云应用程序。我们可能有与我们的解决方案相关的 200 客户端。如果我们通过4实例云服务部署我们的应用程序,我知道我应该使用“ GlobalHost.DependencyResolver.UseWindowsAzureServiceBus(connectionString,1); ”选项通过服务总线连接它们。
我的问题是:它会使用服务总线继电器吗?还是主题?每个实例上的集线器数量多少?每个客户端(200个客户端)使用SignalR连接一个中继?我只是想知道他们将charge me知道它是否值得花多少钱。事实上,最重要的是要知道SignalR是使用主题/订阅还是继电器?
非常感谢你的帮助,
答案 0 :(得分:2)
SignalR Azure Service Bus扩展提供程序每个角色实例仅使用一个订阅。如果您有4个云服务实例,您实际上需要:
GlobalHost.DependencyResolver.UseWindowsAzureServiceBus(connectionString, 4);
第二个参数是您的实例计数。
这会将所有SignalR消息放在一个主题上。如果您想在更多主题之间分发消息,可以指定topicCount
作为UseWindowsAzureServiceBus
的第三个参数,如下所示:
GlobalHost.DependencyResolver.UseWindowsAzureServiceBus(connectionString,
instanceCount: 4,
topicCount: 2);
注意:上述参数仅为清晰起见而命名。