Why Your Load Balancer Still Sends Traffic to Dead Backends
a day ago
- #system-reliability
- #health-checking
- #load-balancing
- 健康检查对于检测和响应系统故障至关重要,客户端与服务器端负载均衡的机制存在差异
- 服务器端负载均衡通过中央代理执行健康检查,能提供一致视图但故障检测可能存在延迟
- 客户端负载均衡将健康检查分散到各客户端,故障发现更快但增加了系统复杂性和不一致风险
- 客户端主动健康检查需要每个客户端定期探测,会产生较高的探测流量
- 客户端被动健康检查通过监测实际请求结果实现即时故障发现,但至少需要一次失败请求作为触发条件
- 服务器端负载均衡架构更简单,适合中等规模场景;客户端方案则在高规模、低延迟场景中表现突出
- 许多大型系统采用混合方案:对外服务用服务器端负载均衡,内部服务间通信采用客户端负载均衡