Reputation: 2928
Grpc.NET includes a client-side load balancer (Grpc.Net.Client.Balancer).
Here is how to use it in asp.net.
However it is not clear what the default behaviour is in some scenarios (and therefore how to determine when writing a custom load balancer is required).
What happens is servers fail? Let's see a few scenarios
round-robin: If a server fails will the future traffic automatically be sent to the survivors? In this case, will the round-robin scheme adapt to the new number of active servers? When the dead server comes back, will the load balancer automatically restore the original operations?
pick-first: If the current server fails will the future traffic be automatically switched to the another of the available servers (without restarting the channel)?
round-robin: is the stream of items sent by a client for a single client-streaming request distributed across all the servers, or sent to only one server?
pick-first: if the server serving a server-streaming request fails, will the load balancer automatically re-send the streaming request to another server (transparently from a client standpoint)?
Upvotes: 0
Views: 171