Skip to content

Setting round_robin load balancing policy #8169

@pete-woods

Description

@pete-woods

In our k8s cluster, following gRPC best-practise our OTEL collector exposes its gRPC endpoint as a "headless service" (i.e. with multiple A record IP addresses).

The Go OTEL library allows us to specify the gRPC service config, and in it include the load balancing config, which I think is something like the below:

"loadBalancingConfig": {
  "round_robin": {}
}

This works great with our Go-based services.

However, the Java OTEL library does not seem to offer this level of control, and you're forced to construct and manage your own gRPC channel.

It would be fantastic if there were some way to specify the load balancing policy, in the same way as the RetryPolicy.

Describe the solution you'd like
A new setter?

It also sounds like the Java gRPC ecosystem should respond well to a URL of dns:///my-endpoint.headless.service....:4167, but the OTEL library explicitly blocks this.

Additional context
Tip: React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding +1 or me too, to help us triage it. Learn more here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Feature RequestSuggest an idea for this project

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions