我在网站上使用了负载均衡器。浏览器启动与我的应用服务器的websocket连接。打开的连接是否消耗了LB上的任何资源,还是直接在浏览器和应用服务器之间?如果LB上有什么开放的地方,这不是瓶颈吗?我的意思是,如果我的LB可以处理X个打开的连接,则X + 1用户甚至无法打开连接。
最佳答案
这取决于!
最高效的负载平衡器监听请求,进行一些分析,然后转发请求;所有位都不会通过负载均衡器。网络转发发生在比http更低的网络层上(例如,它不是http 302重定向-客户端永远不知道发生了什么,维护了内部网络配置的隐私-我认为这种情况发生在OSI 4级)。
但是,某些负载平衡器添加了更多功能,例如充当SSL端点或应用gzip压缩。在这些情况下,它们将在通过时处理位(在这种情况下为加密/解密或压缩)。
图片可能会有所帮助。将第一个图与第二个和第三个here进行比较,注意第一个和另一个ojit_a中没有的重定向。
关于具有负载均衡器可伸缩性的websocket,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8627295/