The tracking issue is https://github.com/grpc/grpc/issues/7957 . The first resolution (#1) would be to add a timer to the server to send a GOAWAY after the connection is a certain age, allowing the proxy to choose another backend.
I have an open question in that issue whether we also need an option to make multiple connections and RR on them *hoping* they go to different backends (#2). If you need this, I'd suggest commenting on the issue. On Thu, Sep 22, 2016 at 4:54 PM, Kun Zhang <[email protected]> wrote: > If you are using Java, a proposed new LoadBalancer API should be able to > solve your problem: > https://github.com/grpc/grpc-java/issues/1600 > > It will allow LoadBalancer to create multiple connections for the same > address. > > On Thursday, September 22, 2016 at 9:19:56 AM UTC-7, [email protected] > wrote: >> >> Hi, >> Found this thread while searching for an answer to the same issue... >> I am doing the same implementation, having a client that is directed to a >> kubernetes service (DNS discovery) and I have noticed that all calls are >> going to the same server. >> This is a single client with multiple servers behind the "service" >> identity. >> Is there any way to bypass is so that each call will actually choose a >> random server in the service pool? >> >> On Thursday, October 8, 2015 at 12:41:27 AM UTC+3, Johan Jian An Sim >> wrote: >>> >>> Thanks, guys. I will do some study on that. >>> >>> On Wed, 7 Oct 2015 11:31 pm Eric Anderson <[email protected]> wrote: >>> >>>> Each RPC is a different HTTP request, but generally on the same TCP >>>> connection (via HTTP/2 multiplexing). So if you are using an HTTP load >>>> balancer then requests would use your various servers. If you are using a >>>> TCP load balancer then all requests from a client would go to the same >>>> server, until that connection was broken. >>>> >>>> Note that streaming RPC are each a single HTTP request; all request >>>> messages in the stream go to the same server. >>>> >>>> On Tue, Oct 6, 2015 at 9:54 PM, Johan Jian An Sim <[email protected]> >>>> wrote: >>>> >>>>> Hi, >>>>> >>>>> I am looking at the gRPC Go which logs the events/requests to >>>>> net/trace. When I look at that, I get a hint that client are tied to a >>>>> server. Want to see if I am wrong about this. >>>>> >>>>> So if I have 3 servers ready (behind Kubernetes service/load balancer) >>>>> and only 1 client is going to connect. Is the client's request always >>>>> going >>>>> to 1 server (the server that it establish connection initially)? >>>>> >>>>> -- >>>>> 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]. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/grpc-io/204a73f5-7081-4d3c >>>>> -9f8b-3b7fd6ca00c2%40googlegroups.com >>>>> <https://groups.google.com/d/msgid/grpc-io/204a73f5-7081-4d3c-9f8b-3b7fd6ca00c2%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> >>>> -- 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/CA%2B4M1oObt1fH_6kuxZMJE_aOXd4yWD8bPy3HuS52UzvVdMT3Ww%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
