Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

suboptimal load balancing of veneur-proxy in kubernetes #788

Open
singron opened this issue Jul 9, 2020 · 0 comments
Open

suboptimal load balancing of veneur-proxy in kubernetes #788

singron opened this issue Jul 9, 2020 · 0 comments

Comments

@singron
Copy link

singron commented Jul 9, 2020

If you set up veneur-proxy as a Service in kubernetes, then kubernetes will expose that as a single IP address that will transparently assign connections to the actual hosts. E.g. see the part about virtual IPs in this article.

Unfortunately, the grpc client libraries are completely unaware of this and will send all requests over 1 TCP connection. If any of the hosts go down, these singleton TCP connections will be assigned to one of the remaining available hosts. Eventually this can lead to situations where all clients are connecting to the same veneur-proxy instance despite multiple being available.

In our fork, I integrated with https://github.com/sercand/kuberesolver so that grpc would round robin among the available veneur-proxy instances. I guess alternatively you could use some type of proxy sidecar like linkerd, but that isn't part of our stack. I'm curious if others are running into this problem and what types of solutions you would accept upstream.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant