Also, for completeness: the client would use the DNS name of the *balancer* 
when 
creating a channel. Note also that your balancer DNS name may point to 
several addresses. If one or more of them are marked as balancers, grpclb 
will be used. Which balancer will be picked up if there's more than one? 
The first one the client connects to.

On Tuesday, 30 May 2017 17:29:01 UTC-7, David Garcia Quintas wrote:
>
> 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 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/3d52b3a7-4bc7-4a2a-8196-d1ab40ee8e5e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to