2013-02-22 69 views
1

我们打算使用SignalRWindows Azure服务总线需要实时客户端更新(浏览器)的云应用程序。我们可能有大约客户端连接到我们的解决方案。如果我们将应用程序部署到4个实例的云服务上,我知道我应该使用“GlobalHost.DependencyResolver.UseWindowsAzureServiceBus(connectionString,1);”选项来通过服务总线连接它们。服务总线继电器和SignalR

我的问题是:它会使用服务总线继电器吗?或主题?每个实例的集线器数量是多少?每个客户端(200个客户端)使用SignalR连接一个中继?我只是想知道他们会多花多少钱charge me知道它是否值得。事实上,这里最重要的是如果SignalR使用主题/订阅或中继?

非常感谢您的帮助,

回答

2

的SignalR Azure的服务总线scaleout提供商将只使用每个角色实例一个订阅。如果您有4个云服务实例,您实际上需要:

GlobalHost.DependencyResolver.UseWindowsAzureServiceBus(connectionString, 4); 

第二个参数是您的实例数量。

这将把所有的SignalR消息放在一个主题上。如果您想了解更多的主题之间你分发的邮件,你可以指定一个topicCount作为第三个参数来UseWindowsAzureServiceBus像这样:

GlobalHost.DependencyResolver.UseWindowsAzureServiceBus(connectionString, 
                 instanceCount: 4, 
                 topicCount: 2); 

注:以上参数仅供命名为清晰。

+0

感谢Halter73的回复,但是这给我带来了一个新问题,如果我们使用的是Azure,并且我可以增加实例的数量,我是否可以更改该值(instanceCount),以便每个实例都可以连接所有集线器? – Jportelas 2013-05-08 20:11:29

+0

您无法动态更改instanceCount,但SignalR 1.1将无需指定instanceCount。 – halter73 2013-05-08 21:37:48