我们在大型 Web 应用程序中使用 SignalR。我们部署了多个处理 signalR 连接的 Web 服务器。我们已经实现了自己的Redis背板,我有以下问题:SignalR对服务器进行了三个调用:1)协商,2)连接和3)启动。如果我们在负载均衡器后面有一个网络场,并且这三个调用最终转到三个不同的服务器,那么所有三个服务器上的连接状态是否都会损坏?在这种情况下会发生什么?我不是在谈论消息传递。
进一步来说:
第二个网络服务器能够理解协商调用生成的connectionId吗?
当在不同的服务器上建立物理连接(websockets)然后启动调用转到另一台服务器时会发生什么?
我知道 SignalR 不会在服务器之间传递连接信息。我想知道这三台服务器上内存中的连接状态。我读了与此相关的另一个问题,但它只讨论消息传递。对于我们来说,消息传递不是问题。如果这三个调用最终进入不同的服务器,我想了解连接的最终状态。
我已经经历过以获得答案的问题: Web-farm 场景中的 SignalR 连接亲和力
由于我们的负载均衡器保持粘性,因此我无法确认当粘性消失时会发生什么。我想为这种可能性做好准备。