2014-09-03 20 views
3

是否使用粘滯會話支持擴展方案?有沒有人部署SignalR與粘滯會話,並有任何意想不到的問題?SignalR(v2 +)是否可以在沒有背板的情況下使用粘滯會話?

我們正在調查SignalR的負載均衡,基於廣播的項目(類似於股票行情),其中消息延遲是一個重要因素。在通過Scale Out文檔閱讀之後,似乎背板模型可能在消息中引入顯着的延遲,尤其是當消息速率較高時。

我發現一些參考文獻暗示它可能會產生一些副作用,但不會影響可靠性和性能。

謝謝!

+0

完美接受的問題。贊成將不公平和未評論的downvote歸零。 – rcdmk 2014-09-03 15:44:20

回答

1

如果您在沒有底板的情況下使用SignalR,則任何客戶端方法調用將只能訪問直接連接到調用服務器的客戶端。

如果您只使用Clients.Caller,那麼這可能沒有問題,因爲調用者應該總是返回給定粘滯會話的服務器。如果您使用Clients.All,Clients.OthersClients.Client(connectionId),Clients.User(userName),Clients.Group(groupName)等等,則這可能會成爲問題。在這些情況下,連接到與執行Clients...代碼的服務器不同的服務器的任何客戶端將不會收到調用,無論是否客戶端連接到同一個集線器,有正確的connectionId等等。

+0

謝謝,如果我們的場景是服務器向(大多數)SignalR用戶組廣播更新(類似於股票代碼),我們應該可以嗎?例如,如果我們有一個Windows服務連接到每個SignalR服務器並通過每個集線器進行廣播。 – 2014-09-04 10:17:58

+1

假設你從每個服務器廣播完全相同的消息,那可能會起作用。請記住,如果沒有背板,您將無法與連接到另一臺服務器的SignalR客戶端進行通信。 – halter73 2014-09-04 17:45:12

+0

非常好,謝謝你澄清 – 2014-09-05 13:56:44

相關問題