The Instance Is Up. Or Is It? Health Checking in Client-Side vs Server-Side Load Balancing

Hacker News
February 23, 2026
AI-Generated Deep Dive Summary
The article explores the critical differences in health checking mechanisms between server-side and client-side load balancing models, highlighting how these approaches impact system reliability, performance, and user experience. The core issue lies in detecting and reacting to failed instances: while server-side load balancers rely on a centralized proxy to monitor backend health, client-side load balancing distributes this responsibility across individual clients. Understanding these dynamics is crucial for tech professionals aiming to optimize their systems' scalability and resilience. In the server-side model, a dedicated proxy like HAProxy or AWS ALB assumes full control of health checking. It periodically probes each backend instance using predefined intervals and thresholds (e.g., every 5 seconds with a 3-failure threshold). While this centralized approach ensures consistent routing decisions across all clients, it introduces latency in failure detection—up to 15 seconds for hard failures. This delay can lead to traffic being routed to unhealthy instances, causing timeouts and user frustration. However, once an instance is marked unhealthy, the load balancer removes it from rotation instantly, preventing further issues. On the other hand, client-side load balancing shifts health checking responsibility to individual clients or sidecar processes. Each client independently probes its local list of backend instances, often using a service registry like DNS for updates. This distributed approach allows for more real-time detection of failures but adds complexity. With multiple clients probing the same instance at different times, inconsistent conclusions can arise, especially during brief degradation periods. Additionally, the overhead of running active health checks across hundreds or thousands of clients can significantly increase network traffic and resource usage. The choice between these models hinges on specific requirements: server-side load balancing offers simplicity and consistency but may introduce delays in failure detection. Client-side balancing provides faster response times but demands more resources and careful management to ensure accuracy. Both approaches have trade-offs, making it essential for teams to align their selection with their system's needs for scalability, reliability, and performance. Ultimately, the article underscores the importance of understanding health checking mechanics in load balancing to avoid scenarios where "zombie instances" continue receiving traffic despite being unhealthy. For tech professionals, optimizing these processes can lead to faster failover times, reduced downtime, and improved user satisfaction. Whether leveraging centralized proxies or distributed
Verticals
techstartups
Originally published on Hacker News on 2/23/2026