2016-08-13 25 views
0

我們處於數百萬個連接(大約30萬)將連接到應用程序的情況。 (SignalR Hubs) 然而其中90%會空閒,主要操作是服務器推送特定客戶端因此我需要實現擴展機制。自定義SignalR背板實現獨特的有效負載

因此,我在Damian Edwards的第9頻道上發現了this fantastic talk,他指出SignalR背板的當前實現非常有限,在像我這樣的場景中,在服務器推送情況下需要定製擴展。 (在58:29以上的談話)

在網上花了很多時間後,我找不到任何明確的指導如何實現適合我的需要的自定義底板。

我想知道signalR背板如何在內部工作,基本上背板是如何工作的。所以我可以實現我自己的一個。

任何幫助,博客文章等..高度讚賞。

+0

這仍然是相關的(視頻)?這是來自MS Build 2013(3歲)。此外,源代碼位於GitHub上。您可以自由分叉/克隆回購,並通讀源代碼。這就是我所做的 –

+0

當然是相關的(Redis實施仍然是相同的)。你可否解釋一下底板如何作爲答案。據我瞭解一個套接字有服務器的親和力)非常感謝。 – SHM

+1

我不認爲有人會爲你重申這裏的源代碼。從那裏你可以看到實施因供應商而異。例如,如果您有一個關於SignalR如何使用底板跟蹤跨多個服務器的用戶連接的具體問題,例如,這將在此處討論。 –

回答

1

請閱讀this piece of documentation,具體是關於執行

TL; DR -

當發送消息時,它前進到背板,與背板將其發送到每個服務器。當服務器從背板獲取消息時,會將消息放入其本地緩存中。服務器然後從其本地緩存中將消息傳遞給客戶端。

+0

謝謝,如何實現支持過濾訂閱的底板?你有任何鏈接或任何關於它的文檔,我錯過了? – SHM

+0

*您是指過濾的訂閱*是什麼意思? –

+0

正如您所說的「將消息發送到每個服務器」時,當前實現的問題基本上使其無法大規模應用。 (正如SignalR作者已經指出的那樣)。 – SHM