我是SignalR的新手,当我们引入负载均衡器时,我对SignalR通信有疑问。
让我们假设我们想在服务器端执行一个void方法,它从客户端接收一些数据作为参数。服务器进一步获取该数据和进程。让我们说,经过一段时间的处理,它确定它必须将通知发送回客户端。
案例1(在客户端和服务器之间):客户端通过传递一些数据来调用服务器端(Hub)上的void方法。连接断开连接。服务器进一步处理客户端数据。当它确定必须将通知推送回客户端时,它会重新创建连接并将数据推送回客户端。
案例2(在客户端和服务器之间,负载均衡器介于两者之间):上述场景(案例1)如何在这里工作?当服务器在处理客户端数据后将推送通知发送回负载均衡器时,它如何知道它必须向哪个客户端发送通知?
答案 0 :(得分:0)
您应该阅读scaleout docs。短版本:消息被发送到所有服务器,因此如果客户端在连接超时之前重新连接(它不是建立连接的服务器!),它将获得消息。
来自文档的引用:
即使客户端路由到另一个客户端,游标机制仍然有效 服务器重新连接。背板知道所有服务器,它 与客户端连接的服务器无关。