我一直在研究与负载均衡器结合的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
答案 0 :(得分:5)
我相信您正在查看的方案需要设置SignalR Backplane。
以下是文章中的相关选择,但您希望阅读完整内容以回答您的具体问题:
每个服务器实例通过总线连接到背板。当一个 消息被发送,它进入背板,背板发送它 到每个服务器。当服务器从背板获取消息时,它 将消息放入其本地缓存中。然后服务器传递消息 从本地缓存到客户端。