当SignalR在负载均衡器后面扩展时,一组中的所有客户都确保接收signalR呼叫吗?

时间:2014-05-14 22:49:23

标签: signalr load-balancing signalr-hub signalr.client

我一直在研究与负载均衡器结合的SignalR实现 并有一些基本的(如果不是简单的声音)问题。 我必须在前言中说我对负载均衡器有零(0)经验。

我们将在负载均衡器后面放置2台服务器。 客户端是ASP .Net应用程序。 我们被告知负载均衡器保持会话亲和力。

请考虑以下情形:

Client1 & Client2 -- connect to GroupA--> Server1
Client3 & Client4 -- connect to GroupA--> Server2

1)Server1对GroupA进行客户端调用 - 这假定为 客户1-4将收到通知,是吗?

2)如何处理?

3)它是SignalR本身或负载均衡器的功能吗?

4)在组级别发送消息时,仅将消息传递给客户端 与该特定服务器上的组关联的应用程序,或邮件将被转发 对该组的所有客户?

有没有人对此有任何想法?

谢谢, JB

1 个答案:

答案 0 :(得分:5)

我相信您正在查看的方案需要设置SignalR Backplane

以下是文章中的相关选择,但您希望阅读完整内容以回答您的具体问题:

  

每个服务器实例通过总线连接到背板。当一个   消息被发送,它进入背板,背板发送它   到每个服务器。当服务器从背板获取消息时,它   将消息放入其本地缓存中。然后服务器传递消息   从本地缓存到客户端。

enter image description here