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

Joh*_*hnB 1 load-balancing signalr signalr-hub signalr.client

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

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

请考虑以下情形:

Client1 & Client2 -- connect to GroupA--> Server1
Client3 & Client4 -- connect to GroupA--> Server2
Run Code Online (Sandbox Code Playgroud)

1)Server1对GroupA进行客户端调用 - 这假设客户端1-4将获得通知,对吗?

2)如何处理?

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

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

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

谢谢,JB

jan*_*sen 5

我相信您正在考虑的场景需要设置SignalR背板.

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

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

在此输入图像描述