Hasty Briefsbeta

Bilingual

Why Your Load Balancer Still Sends Traffic to Dead Backends

a day ago
  • #system-reliability
  • #health-checking
  • #load-balancing
  • Health checking is crucial for detecting and reacting to system failures, with mechanisms differing between client-side and server-side load balancing.
  • Server-side load balancing uses a central proxy for health checks, providing a consistent view but with potential latency in failure detection.
  • Client-side load balancing distributes health checking to clients, allowing faster failure detection but with increased complexity and inconsistency.
  • Active health checks in client-side involve periodic probes by each client, leading to high probe traffic.
  • Passive health checks in client-side monitor real request outcomes for immediate failure detection but require at least one failed request.
  • Server-side load balancing is simpler and ideal for modest scale, while client-side excels in high-scale, low-latency scenarios.
  • Many large systems use both models: server-side for external clients and client-side for internal service-to-service communication.