System Design Problem

Design a Load Balancer

Commonly Asked By:GoogleAWSMicrosoftNetflixCloudflare

  • Distribute traffic: Route incoming requests across a pool of backend servers
  • Health checks: Detect unhealthy servers and stop routing traffic to them
  • Multiple algorithms: Support Round Robin, Weighted Round Robin, Least Connections, IP Hash, etc.
  • Session affinity (sticky sessions): Route requests from the same client to the same server
  • SSL/TLS termination: Decrypt HTTPS at the load balancer (offload from backends)
  • Auto-scaling integration: Dynamically add/remove backend servers
  • Rate limiting: Limit requests per client/IP
  • Request routing: Route by URL path, headers, or other request attributes (Layer 7)
  • Connection draining: Gracefully drain connections before removing a server
Loading...