THN Interview Prep

Load Balancer

What it is

A load balancer sits in front of a pool of servers (or services) and distributes incoming connections or requests so no single instance is overwhelmed. It can operate at Layer 4 (transport: TCP/UDP) or Layer 7 (application: HTTP, gRPC, etc.).

When to use

  • Horizontal scaling: more than one instance of an app or API.
  • High availability: health checks remove bad nodes; traffic fails over.
  • SSL termination (often at L7 or a dedicated tier): decrypt at the edge, plain HTTP inside the VPC (trade security vs. trust boundaries).
  • Geographic or multi-AZ routing: send users to the nearest or healthiest region.

L4 vs L7

AspectL4 (network)L7 (application)
Decides onIP, port, sometimes TLS SNIURL path, host header, cookies, method
Cost / latencyUsually lowerHigher (parsing, rules)
Use whenTCP stickiness, raw protocols, max throughputRouting by path, A/B, canary, WAF-style rules
Loading diagram…

Algorithms

  • Round robin (RR): cycle through backends in order. Simple; ignores load and connection count.
  • Least connections: send the next request to the backend with the fewest active connections. Good for long-lived or uneven work.
  • Consistent hashing: map a key (e.g. user id, session id) to a ring; same key usually hits the same server. Minimizes reshuffle when nodes are added/removed. Common for stateful caches or session affinity without sticky cookies at L7.

Alternatives: DNS round robin (coarse, TTL caching hurts agility); client-side discovery + random pick; service mesh sidecars that load balance inside the cluster.

Failure modes

  • Misconfigured health checks: flapping backends or traffic to dead nodes.
  • Hot partitions: consistent hashing can still skew if key distribution is skewed; add virtual nodes or reshuffle keys.
  • Connection storms: SYN floods or reconnect loops overwhelm the balancer or backends.
  • State at L7: wrong sticky/session rules break auth or cart flows.

Interview talking points

  • Start with capacity and back-of-envelope math; mention latency vs throughput when arguing L4 vs L7.
  • Clarify stateless vs stateful backends and whether you need affinity or shared storage/cache.
  • Mention health checks, draining, and graceful shutdown for deploys.

Mark this page when you finish learning it.

Last updated on

Spotted something unclear or wrong on this page?

On this page