Spring / Spring gRPC Interview Questions
How does gRPC support client-side load balancing across multiple server instances?
gRPC's channel layer is pluggable at two points: a NameResolver, which turns a logical target name into a set of backend addresses (for example via DNS), and a LoadBalancer, which decides how to distribute calls across those addresses - common built-in policies include pick_first (stick to one address until it fails) and round_robin (spread calls evenly).
In Kubernetes environments, this is often combined with a headless Service (so DNS returns all pod IPs rather than a single virtual IP) so the client-side round-robin policy has real per-pod addresses to balance across. Alternatively, teams delegate load balancing entirely to an external proxy or service mesh (Envoy, Istio) sitting in front of or beside the backend pods.
More Related questions...