负载均衡
某天下午收到告警:服务器负载过高,CPU 95%、内存 85%、响应 500ms+。先别急着加机器,这一章从容量分析开始——每个请求都要调外部 API,数据处理和缓存操作都在抢 CPU,内存吃紧,数据库那边还有每天 500 多条慢查询和 200ms 的主库延迟。归因清楚了,才知道该把流量分出去。
接着是选型:Nginx 成熟稳定、功能丰富,HAProxy 性能极高但配置复杂,云负载均衡免运维但成本高,DNS 轮询简单却没有健康检查。当前规模下选了 Nginx,并把 upstream 配置、健康检查、故障自动摘除和 SSL 终止落到配置里。
最后比较转发策略:轮询最简单,最少连接适合处理时间差异大的场景,IP 哈希能把同一 IP 固定到同一台机器但容易负载不均,加权轮询适合新旧实例并存;再补上会话保持,以及上线后的效果验证和监控告警。
读完你应该能对一次真实的容量瓶颈做归因,能为当前规模选定负载均衡器与转发策略,并说清健康检查失败摘除对可用性到底意味着什么。
发现内容有问题?
告诉我们哪里需要改进。
