-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
QueryFrontend: HTTP/gRPC client load balancing #3373
Comments
I think we should immediately go for So let's just make it work and then we can iterate and optimize it. |
I agree with @kakkoyun. |
Hello 👋 Looks like there was no activity on this issue for the last two months. |
I think I can work on this issue with some guidance. Can you please assign me if nobody is working on this? |
I have one question regarding first part of AC, i.e.
What approach everyone suggests? Should it be similar to cortex? ( which is as far as i understood 😅 , add a flag in querier |
if you go for http, would it be something reusable for prometheus/prometheus#8402 ? |
@roidelapluie Yes 🤗 |
Hello 👋 Looks like there was no activity on this issue for the last two months. |
Still valid. |
Hello 👋 Looks like there was no activity on this issue for the last two months. |
Closing for now as promised, let us know if you need this to be reopened! 🤗 |
Still valid. |
It would be amazing to use spitting mechanism better and allow distributing requests to multiple querier replicas.
Most of us use Kubernetes with K8s Serice only which are TCP based, so they don't do round robin balancing - they just pick one. Some of users don't have good lb handy even. I think it should be application logic to make that happen.
I already wrote similar code e.g in Kedge which works on production even now (https://github.com/improbable-eng/kedge/blob/772f9b2d2092a0ada972096945bee8cd49513da6/pkg/kedge/http/lbtransport/transport.go#L104), HOWEVER, it might be a better idea to use grpc rather. This is more tricky though but gives us support for load balancing on Querier towards other APIs as well. So we have two choices (or implement both):
a) http
Pros:
b) grpc
Pros:
Cons:
In both cases acceptance criteria are the same:
AC:
I would vote for B (: More ambitious and more benefits. Thoughts? @pracucci @yeya24 @brancz @kakkoyun
The text was updated successfully, but these errors were encountered: