我使用SignalR在負載平衡器後面的多臺服務器託管。我將連接標識和用戶標識存儲在SQL Server的自定義數據庫表中。每次我都需要向選定的用戶發送通知。它在單服務器環境中工作正常。如何在不使用現有底板選項的情況下使用自定義數據庫表來擴展SignalR實施?如何實現SignalR向外擴展,而無需使用現有的背板選
回答
我不知道什麼是您目前的實現,因爲它似乎是有點混合你的解釋。如果你在負載均衡器後面有多個服務器,這意味着你應用了一些技術(我認爲是這樣!)。但是你說它在單服務器環境中工作正常,但不在多個服務器中工作。讓我們來回顧一下是強制性的多臺服務器(橫向擴展)
實例之間的通信:這意味着,在一個實例中的任何消息,請在所有其他實例。經典實現是任何類型的隊列,SignalR支持Redis,您可以使用SQL Server,但它清楚了任何SQL解決方案的侷限性。天青有一個Redis的緩存作爲PaaS的
內存存儲:你通常在一臺服務器使用,但它是強制性的,以實現共享內存。同樣,Redis擁有共享內存解決方案,以防您有可用的服務器。沒有像Redis這樣的解決方案,沒有任何可能實現這一點。 同樣,較低性能的解決方案將是SQL中的MemStorage實現。
驗證:外掛式的現成實現安全的使用Cookie來存儲加密密鑰。但是一旦你有多臺服務器,每臺服務器都有其唯一的密鑰。要解決此問題,必須實施自己的DataProtector,以防使用此方法。
的例子是非常超出了這個解釋,大部分的代碼(不執行實際的方法,甚至模板)將採取幾頁。我建議你看看必須擴展你的應用程序的3個項目。
能否請您至少添加源代碼或文章或約定製背板實現其它回答問題環節?我相信至少有幾件好事可以幫助問題啓動者。 – cassandrad
我會添加一些可以導致理解概念的例子(最小)...我自己實現了一個完整的解決方案,但是有很多代碼。 –
你可以提供一個鏈接到你的倉庫,然後,是嗎?這對其他人會很有幫助。 – cassandrad
- 1. SignalR使用背板向外擴展
- 2. Signalr背板擴展
- 3. 使用Redis的SignalR擴展背板
- 4. SignalR與Redis背板擴展
- 5. 如何擴展現有的Python實例
- 6. 自定義SignalR背板實現獨特的有效負載
- 7. 如何使用NodeJs實現橫向擴展性
- 8. 使用SignalR實現WebSockets
- 9. 擴展現有的Firefox擴展/在自己的擴展中使用現有Firefox擴展的功能
- 10. android onBindViewHolder未實現,即使使用擴展實現
- 11. 如何使用CSS過渡從中心向外擴展背景
- 12. 可擴展的枚舉,而無需使用擴展
- 13. 如何實現遞歸和可擴展的Twig模板?
- 14. 實現AngularJS的Firefox擴展
- 15. 的WinForms擴展實現
- 16. java中如何擴展類,而實現父類的方法
- 17. 使用現有的本地文件,而無需選擇
- 18. 如何擴展或實現類?
- 19. 內部如何實現擴展方法
- 20. 如何在Mac中實現Safari擴展
- 21. 如何實現與PHP PHP擴展7
- 22. Apache AirFlow如何實現可擴展性?
- 23. 類擴展MX DataGrid如何實現allowMultipleSelection
- 24. Activiti如何實現可擴展性
- 25. 如何實現擴展接口?
- 26. 如何測試擴展實現
- 27. 服務器廣播實現中的SignalR擴展/背板 - 是否不會導致客戶端重複消息?
- 28. 如何實現分層剃刀模板擴展?
- 29. 如何在引導面板中實現可擴展內容
- 30. 爲什麼策略模式使用實現而不是擴展?
在您的方案 - 你可以把所有需要相互交談一臺服務器上的用戶? – Pawel