Senior From PDF Microservices Microservices

Can you explain client-side versus server-side load balancing in microservices?

Client-Side Load Balancing:

  • In client-side load balancing, the client is responsible for selecting the appropriate

instance of a service to send the request to, based on the list of available instances.

  • The client usually obtains the list of service instances through service discovery

(e.g., Consul, Eureka, Kubernetes DNS).

Pros:

  • More control for the client on load balancing strategies (e.g., round-robin,

least connections).

  • Reduces pressure on centralized load balancers.
  • Cons:
  • Adds complexity to client-side logic.
  • Requires the client to maintain a list of available instances.

Server-Side Load Balancing:

  • In server-side load balancing, a centralized load balancer (e.g., NGINX, HAProxy,

Kubernetes ingress controller) is responsible for distributing the traffic to available

service instances.

Pros:

  • Simpler client-side logic.
  • Centralized control over load balancing logic and configuration.
  • Cons:
  • Can introduce a bottleneck or single point of failure.
  • Requires more resources and maintenance for the load balancer itself.

More from Microservices with .NET

All questions for this course
Toolliyo Assistant
Ask about tutorials, ebooks, training, pricing, mentor services, and support. I use public site content only—not admin or internal tools.

care@toolliyo.com

Need callback? Share your details