2013-02-22 68 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