I think you must be looking at code that does not include that PR. With that PR, there are no calls to grpc_lb_addresses_set_address() in dns_resolver_ares.c; those calls have been moved to grpc_ares_wrapper.c, and the is_balancer parameter is set to true for balancer addresses:
https://github.com/grpc/grpc/blob/master/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.c#L176 Hope this helps. On Sun, Aug 13, 2017 at 6:44 AM, 谭锦彪 <[email protected]> wrote: > Hi David, > > Is grpclb available now? since the PR that adds support for the c-ares DNS > resolver has being merged. But the calls to grpc_lb_addresses_set_address > still always set is_balancer=false in dns_resolver_ares.c, that confused me. > > 在 2017年5月31日星期三 UTC+8上午8:29:01,David Garcia Quintas写道: >> >> Hi Tudor, >> >> Apologies for the late response. It's timely that the PR that adds >> support for the c-ares DNS resolver (https://github.com/grpc/grpc/ >> pull/11237) is very close to being merged. This is the piece that's >> missing for making grpclb work in open source. In particular: >> >> - Have a look at this document >> <https://github.com/grpc/proposal/blob/master/A5-grpclb-in-dns.md>. >> It goes over the DNS configuration changes needed to control which >> addresses are marked as balancers. It's currently a "proposal", to be >> promoted to a doc shortly. It can be taken quite authoritatively, it's >> what >> https://github.com/grpc/grpc/pull/11237 >> <https://github.com/grpc/grpc/pull/11237> is implementing for >> balancer discovery. >> - Wait for https://github.com/grpc/grpc/pull/11237 to be merged, or >> patch it in a local repo. >> - Write a regular gRPC server (in any language) implementing the load >> balancer protocol >> >> <https://github.com/grpc/grpc/blob/master/src/proto/grpc/lb/v1/load_balancer.proto>. >> This is the server to be marked in your DNS records as a balancer (as >> described in the aforementioned document >> <https://github.com/grpc/proposal/blob/master/A5-grpclb-in-dns.md>), >> with which the client's grpclb will talk to to obtain the list of backend >> addresses (what's called server_lists >> >> <https://github.com/grpc/grpc/blob/master/src/proto/grpc/lb/v1/load_balancer.proto#L120>). >> It's up to you to make the logic inside this balancer as simple or as >> complex as you want. >> >> Let me know if you have any questions, I'll be more prompt to get back to >> you this time around :) >> David. >> >> On Tuesday, 18 April 2017 08:46:46 UTC-7, [email protected] wrote: >>> >>> Hello, >>> >>> What's the status of load balancing (https://github.com/grpc/grpc/ >>> blob/master/doc/load-balancing.md) in C++? >>> >>> It seems that the "grpclb" implementation exists in core, but there's no >>> way to obtain addresses with is_balancer=true (the DNS resolvers always >>> assume that resolved addresses are regular backend addresses as opposed to >>> balancer addresses; the calls to grpc_lb_addresses_set_address always set >>> is_balancer=false). >>> >>> Right now, I'm planning to multiplex on my side onto a pool of channels >>> (I'm using Kubernetes iptables forwarding, which looks like a L4 balancer >>> from the client side -- all nodes are hidden behind the same IP address), >>> but I'd be willing to switch to grpclb when it becomes available. >>> >>> Also, are there any plans to provide grpclb servers for common use cases >>> (balancing to one Kubernetes service would be a very useful one, and would >>> probably get a lot of usage). >>> >>> Thanks, >>> -Tudor. >>> >>> -- > You received this message because you are subscribed to the Google Groups " > grpc.io" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at https://groups.google.com/group/grpc-io. > To view this discussion on the web visit https://groups.google.com/d/ > msgid/grpc-io/e769124d-fded-4bac-8dbc-cf4ce153d9f5%40googlegroups.com > <https://groups.google.com/d/msgid/grpc-io/e769124d-fded-4bac-8dbc-cf4ce153d9f5%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- Mark D. Roth <[email protected]> Software Engineer Google, Inc. -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/CAJgPXp4mBbDm%2BO8xCk1Ym1pXydBoc734tD4ROoqY03f6PggdVQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
