我有一个专有技术问题。我希望这没问题。
我有一个来自谷歌的容器引擎,运行3个Docker容器实例。我前面有一个负载均衡器服务。前端的Websockets连接到该服务。
现在我的问题是,这个LoadBalancer是个瓶颈吗?或者websocket是否以某种方式直接连接到实际的docker实例?
如果这是一个瓶颈,有办法绕过它吗?
根据我有限的知识和假设,没有隐含任何谷歌知识
这在一定程度上取决于负载均衡器的实现。正如您所期望的,有各种各样的负载平衡技术。
负载均衡器被设计为充当低级数据包过滤器,不应该造成瓶颈。
维基百科有一些有趣的信息,还有这份"白皮书"和这篇文章。
然而,一些软件负载均衡器实际上更类似于代理服务器。在这些情况下,所有的websocket连接(和Http连接)都连接到负载均衡器,这可能会成为一个瓶颈。。。
我假设谷歌没有在负载均衡器上搞砸工作,他们使用的是低级架构(数据包处理),而不是TCP/IP连接代理式的转发。
在任何情况下,您都应该意识到,连接到不同Docker实例的websocket连接无法相互通信,除非您将它们桥接在一起。