To ask my question in another word. If to build a "Thick client" load balancing <https://grpc.io/blog/grpc-load-balancing/#thick-client> with gRpc, the client is responsible to keep track of available servers. While when client detected available servers changed, how does it manages corresponding SubChannels under existing Channels? I searched around docs today again, didn't find APIs for that. I'm looking into csharp. Sorry if I overlooked something.
thanks a lot 在2020年10月19日星期一 UTC+8 下午8:07:33<li yabo> 写道: > While considering moving a http client/service call to using gRpc, I'm > looking at load balancing solutions. We currently have each client manages > a list of server names (for one service VIP) and connection pools. The > server names changes from time to time, so each client has it's logic to > maintain the server names list and http connection pools. > > If move to using gRpc, I think the easiest change regarding LB might be to > let client fill the server names list to gRpc as Subchannels of a Channel > to the service VIP. So that client sends request to one Channel and get > requests well load balanced. Once there is changes in the client server > names list, the client Application layer code goes to update Subchannels in > gRpc again. > While I'm not sure if that's a do-able or ok approach that doesn't violate > gRpc design? > > managing one Channel for each server name might be a solution, but that > possibly won't work well with gRpc retries-policy, because we hope the > retry request issued by retries-policy hit another server name of the > server-names list. > > Since current client self-managed server names idea works in existing env, > we hope we don't have to setup new roll like lookaside load balancer in the > cluster only for the purpose to using gRpc. Does this idea make sense? > > Thanks a lot! > -- 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 view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/2117e353-6b56-403b-873b-418d898171a0n%40googlegroups.com.
