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

dualstack user guide #1357

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

markdroth
Copy link
Member

@markdroth
Copy link
Member Author

@ejona86 @dfawley I'd welcome suggestions for other details to cover here. There are certainly a lot of underlying details, but I'm not sure how many of them are actually important for someone trying to use this feature.

@temawi temawi self-requested a review September 10, 2024 04:19
@temawi
Copy link
Collaborator

temawi commented Sep 10, 2024

This looks ok to me, but I'll hold off from merging for now to give @ejona86 and @dfawley a chance to take a look.

and that information is communicated to the Load Balancing Policy.

Note that the only name resolver implementation that gRPC provides is a
DNS resolver, which does not support dualstack backends. This is
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It won't be clear to users what "does not support" means here. You can use dualstack backends with pick_first. Maybe the earlier paragraph about load balancing policies needs to call out that nothing special needs to happen for the default policy, pick_first. But if using a different policy it probably needs NR support? And then you can use round_robin as an example when explaining the twice-the-load problem.

one of the two protocols may actually be routable between a given
client and endpoint, clients need to try both addresses to see which
one will work. To minimize connection attempt latency, it is also
desirable for clients to attempt to connect to multiple addresses in
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"it is also desirable" doesn't say what is actually done or who is responsible for it. "To minimize connection attempt latency, gRPC clients will attempt..."?

Comment on lines +39 to +41
2. Use an xDS control plane that can communicate multiple addresses
per endpoint to the client. For more information, consult the
documentation for your xDS control plane.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was going to say this should link to some grpc xds documentation for how to set up your client to talk to your control plane, but...I can't find anything appropriately user-facing. Should we link to https://github.com/grpc/proposal/blob/master/A27-xds-global-load-balancing.md for now?

Should we create another guide that covers how to set up a bootstrap file and create an xds-enabled grpc client (and server, possibly separately)?

|----------|------------------|----------------------------------------|
| C++ | | C++ resolver API not yet public. |
| Go | | Go dualstack support not yet complete. |
| Java | [Java example] | |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe indicate that both Java and Go have only experimental support for custom LB policies?

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

Successfully merging this pull request may close these issues.

4 participants