Container Engine Websockets Bottleneck

11/4/2015

I have a KnowHow Question. I hope this is ok.

I have a Container Engine from Google, running 3 instances of Docker Containers. I have a Load Balancer Service in front. The Websockets from the FrontEnd connect to that Services.

Now my question is. Is this LoadBalancer a Bottleneck? Or are the websockets somehow connected directly to the actual docker instances?

If it is a Bottleneck, is there someway around it?

-- Thargor
google-kubernetes-engine
websocket

1 Answer

11/4/2015

From my limited knowledge and assumptions, no intimate Google knowledge implied

This somewhat depends on the load balancer's implementation. As you can expect, there is some variety of load balancing techniques.

Load balancers are designed to act as low-level packet filters and shouldn't create a bottle-neck.

Wikipedia has some interesting info, as well as this "white paper" and this article.

However, some software load balancers are actually more similar to Proxy servers. In these situations, all websocket connections (and Http connections) are connected to the load balancer and it could become a bottleneck...

I'm assuming that Google didn't botch the job on the load balancer and that they are using low-level architecture (packet handling) rather than TCP/IP connection proxy style forwarding.

In any case, you should be aware that websocket connections that connect to different Docker instances can't communicate with each other unless you bridge them together.

-- Myst
Source: StackOverflow