我无法确定在我的场景中是否需要使用Signalr背板。不幸的是,我无法得到我需要自己测试的测试环境所以我来这里;)
在我的场景中,我们使用signalr与特定客户端(使用连接ID)从服务器应用程序(这是一个Windows服务)进行通信。当客户访问某个页面时,我们会挂钩信号器OnConnected事件并注册用户以在我们的数据存储中接收通知。现在我们存储连接ID,它们来自的服务器的IP以及一些其他特定于应用程序的信息。
当服务器进程运行并确定它需要向客户端发送消息时,它使用在客户端连接/订阅(代理缓存,顺便说一句)时捕获的IP构建代理并发送消息。
现在工作正常。但是,我担心这在负载平衡的情况下不起作用。我在想如果使用网络套接字没有问题,但是让我们说它回归到长轮询。不可能发生这种情况:
我对这种想法有所了解吗?我正在努力避免使用背板,因为每个横向扩展选项都会给我们带来问题。
答案 0 :(得分:3)
简短回答是,在负载平衡环境中总是需要背板
较长的版本,您有2台服务器A和B负载均衡。用户可以连接到A,用户可以自愿断开连接,也可以通过网络超时,或者通过signalR刷新(有几个错误打开,这是一个特定的回归,但仍然可以在以后的版本中重新合并,与使用的通信无关)但基本上用户有时可以找到他自己" suddnely"连接到服务器B.现在服务器A将无法向用户发送数据。