负载均衡策略 LoadBalancingStrategies

负载均衡策略是一种核心的分布式系统与网络技术,用于在多个服务器、服务或计算资源之间智能地分配网络流量或计算任务。其核心目的是提升系统的可用性、吞吐量、性能和弹性,避免单点故障。关键技术包括轮询、最少连接、加权算法等多种分发算法,以及主动/被动健康检查、会话保持、TLS终止、连接排空等高级功能。广泛应用于云计算、微服务架构、高可用网站和应用程序中,是现代DevOps、云原生和系统架构设计的必备技能。 关键词:负载均衡, 高可用, 流量分发, 健康检查, 会话保持, 云原生, 微服务, 算法, 性能优化, 故障转移

微服务 0 次安装 0 次浏览 更新于 3/5/2026

名称:负载均衡策略 description:负载均衡算法、健康检查和高可用模式的综合指南。

负载均衡策略

概述

负载均衡通过将流量分发到多个目标,以提高可用性、性能和弹性。本指南涵盖算法、健康检查和运维最佳实践。

目录

  1. 基础概念
  2. 第4层与第7层
  3. 算法
  4. 健康检查
  5. 会话保持
  6. TLS终止
  7. 连接排空
  8. 全局负载均衡
  9. 云负载均衡器
  10. 软件负载均衡器
  11. 服务网格负载均衡
  12. 自动扩缩容集成
  13. 监控
  14. 故障排查

基础概念

核心目标:

  • 均匀分发流量
  • 避免单点故障
  • 通过路由到健康目标来改善延迟

第4层与第7层

  • 第4层(TCP/UDP):速度快,协议无关,无HTTP感知。
  • 第7层(HTTP/HTTPS):根据路径/主机/头信息路由,支持TLS终止。

算法

常见策略:

  • 轮询:简单轮转。
  • 加权轮询:偏向性能更强的节点。
  • 最少连接:路由到最不繁忙的节点。
  • 加权最少连接:结合权重与负载。
  • IP哈希:基于客户端IP的粘性路由。
  • 随机:开销低。
  • 最短响应时间:优先选择延迟最低的目标。

健康检查

类型:

  • 主动检查:定期探测。
  • 被动检查:从实时流量中检测故障。

结合使用以实现最佳检测和恢复。

会话保持

粘性会话将同一客户端路由到同一目标:

  • 基于Cookie的亲和性
  • IP哈希

仅在状态无法外部化时使用。

TLS终止

在负载均衡器处终止TLS,以实现:

  • 集中式证书管理
  • 更好的性能
  • 更易观测性

可选地重新加密到后端,以实现端到端安全。

连接排空

在缩容或部署期间允许进行中的请求完成:

  • 设置排空超时
  • 停止新连接

全局负载均衡

GSLB跨区域路由:

  • 基于地理位置的路由
  • 基于延迟的路由
  • 故障转移路由

云负载均衡器

  • AWS:ALB(L7),NLB(L4)
  • GCP:HTTP(S)负载均衡器,TCP/UDP负载均衡器
  • Azure:应用程序网关,Azure负载均衡器

软件负载均衡器

  • NGINX:流行的L7代理,支持健康检查。
  • HAProxy:高性能L4/L7负载均衡器。
  • Envoy:现代代理,提供丰富的遥测功能。

服务网格负载均衡

服务网格(Istio, Linkerd)提供客户端负载均衡,并支持重试策略、熔断和遥测。

自动扩缩容集成

与自动扩缩容结合:

  • 基于CPU、延迟或队列深度进行扩缩容
  • 预热节点以减少冷启动

监控

跟踪指标:

  • 请求速率和延迟
  • 后端错误率
  • 健康检查失败
  • 流量分布不均

故障排查

常见问题:

  • 健康检查配置错误(假阴性)
  • 粘性会话导致热点
  • TLS不匹配或SNI路由错误
  • 排空时间过短,无法处理长请求

相关技能

  • 09-微服务/api网关
  • 09-微服务/服务网格
  • 15-DevOps基础设施/kubernetes-helm