负载平衡networking套接字和长轮询

如果我的networking应用程序运行在三台支持Web套接字的客户机上,并且客户机连接到其中一台机器上,那么每个请求是否总会进入同一台机器,或者负载平衡器是否可以将其发送到不同的机器上?

基本上,一旦networking浏览器通过networking套接字build立连接,负载平衡器可以发送每个请求到不同的服务器吗?

如果是这样,哪个负载平衡器可以做到这一点?

另外,如果我使用类似检测浏览器兼容性的框架并select适当的协议,这将如何影响负载均衡机会?

正如在HTTP协议握手完成后,Wikipedia上的websockets协议的基本描述中所描述的,其他通信是通过与确切服务器的持续 TCP连接来执行的。

因此,在通常的HTTP意义上不会有“请求”,只有2个端点(服务器和客户端)交换数据。 这就是为什么通常意义上的负载均衡是不可能的(通常不需要,因为服务器可以同时处理很多并发的TCP连接 – 这里就此进行了很好的讨论)。 这就是为什么通过websocket发送数据总是会被正确的服务器机器(正在等待的机器)接收到的。

如果你真的需要这个,你可以使用上面提到的post中描述的L3 load-balancer。

“基本上,一旦网络浏览器通过网络套接字建立连接,负载平衡器是否可以将每个请求发送到不同的服务器?

如果这是你想要的行动,是的。

Riverbed有一个软件负载平衡器,可以实现这一点。 https://splash.riverbed.com/docs/DOC-1451