Evolution of gRPCLB

997 views
Skip to first unread message

Srini Polavarapu

unread,
Feb 28, 2019, 3:58:03 PM2/28/19
to grpc.io

If you are using gRPCLB, please read on:


gRPC team is working on evolving the current gRPCLB functionality. We will be moving away from our custom load balancing protocol and adopting xDS Protocol based on Envoy xDS API. This will allow interoperability with open source control planes that support the xDS API, such as Istio Pilot, go-control-plane and java-control-plane. Other improvements include a more flexible and improved load balancing policy configuration and load reporting based on LRS (load reporting service).


The client-side implementation of xDS load balancing plugin will not be compatible with the current gRPCLB protocol. Hence, the current gRPCLB implementation can be considered deprecated. We are actively working on the implementation of the new protocol. Expect to see a lot of progress in the coming quarters, including a gRFC on the new design. If you are relying on the current implementation in any way, please comment here so we can figure out an appropriate time to remove it after the new implementation is ready.

Benjamin Krämer

unread,
Mar 1, 2019, 8:49:01 AM3/1/19
to grpc.io
We are currently using GRPCLB to workaround the missing name resolver support in C# (https://github.com/grpc/grpc/issues/11879). We will switch to xDS once it's implemented, but would still appreciate to get a possibility to use external name resolvers in c-core (doesn't have to be C#). grpc-java offers an experimental API for this: https://github.com/grpc/grpc-java/issues/1770

AFAIK, c-core only supports adding custom name resolvers by compiling the c-core yourself, which would then allow to also use it with C#. Is this still the case, or is there a standard way by now?

Mark D. Roth

unread,
Mar 1, 2019, 10:01:01 AM3/1/19
to Benjamin Krämer, grpc.io
We don't currently support a way to plug in third-party resolvers and LB policies in C-core without rebuilding it, but that's a feature we are working on.  On the resolver side, there's a user-contributed PR that's been in review for a while (https://github.com/grpc/grpc/pull/16617), which you can ping if you're interested.

On Fri, Mar 1, 2019 at 5:49 AM Benjamin Krämer <falco...@gmail.com> wrote:
We are currently using GRPCLB to workaround the missing name resolver support in C# (https://github.com/grpc/grpc/issues/11879). We will switch to xDS once it's implemented, but would still appreciate to get a possibility to use external name resolvers in c-core (doesn't have to be C#). grpc-java offers an experimental API for this: https://github.com/grpc/grpc-java/issues/1770

AFAIK, c-core only supports adding custom name resolvers by compiling the c-core yourself, which would then allow to also use it with C#. Is this still the case, or is there a standard way by now?

--
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 grpc-io+u...@googlegroups.com.
To post to this group, send email to grp...@googlegroups.com.
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/4a1feab9-af39-4d68-8c1a-256f4d83b164%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


--
Mark D. Roth <ro...@google.com>
Software Engineer
Google, Inc.

blazej...@gmail.com

unread,
Mar 1, 2019, 1:18:28 PM3/1/19
to grpc.io
As I mentioned here, we have been working on server-side gRPCLB implementation for some time and we'll start using it any day now. We chose gRPCLB because we needed high performance. It would be great to have some time for migrating to xDS, before gRPCLB gets removed. 

Do you work on both sides of xDS protocol, or only on the client-side implementation?

Ram Kumar Rengaswamy

unread,
Mar 1, 2019, 1:33:13 PM3/1/19
to blazej...@gmail.com, Gil Cukierman, Edwin Hermans, grpc.io
cc: +Gil Cukierman +Edwin Hermans 
We are actively working on a project using a LookAside loadbalancer.
It would be great if XDS existed before deprecating grpclb,

--
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 grpc-io+u...@googlegroups.com.
To post to this group, send email to grp...@googlegroups.com.
Visit this group at https://groups.google.com/group/grpc-io.

Srini Polavarapu

unread,
Mar 1, 2019, 6:50:39 PM3/1/19
to grpc.io

On Friday, March 1, 2019 at 10:18:28 AM UTC-8, blazej...@gmail.com wrote:

Do you work on both sides of xDS protocol, or only on the client-side implementation?

gRPC team does not work on the LB server side of xDS. The goal here is to be able to use existing and future xDS compatible LB servers as mentioned above. 

Rama Rao

unread,
Mar 2, 2019, 11:44:45 PM3/2/19
to Srini Polavarapu, grpc.io
Srini,

Does it mean that if control plane implements the new xDS api that gRPC team is going propose - gRPC services can make use of it for load balancing (optionally control planes can also implement and configure LoadReportService, which would be used for more intelligent load balancing?) Is that right?
Thanks,
Rama

--
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 grpc-io+u...@googlegroups.com.
To post to this group, send email to grp...@googlegroups.com.
Visit this group at https://groups.google.com/group/grpc-io.

Srini Polavarapu

unread,
Mar 6, 2019, 12:32:15 PM3/6/19
to grpc.io
That's correct but note that xDS spec already exists as linked above and it is not something new that gRPC team is proposing.
Reply all
Reply to author
Forward
Message has been deleted
Message has been deleted
0 new messages