一、静态负载均衡
核心原理:基于预定义规则分配请求,运行时不可动态调整。
算法与特点:
1、轮询(Round Robin)
请求按服务器列表顺序分配,简单公平但忽略性能差异。适用场景:服务器性能相近的静态资源分发(如CDN节点)
2、加权轮询(Weighted Round Robin)
为不同性能服务器分配权重(如高配服务器权重=3,低配=1),按权重比例分配请求。适用场景:服务器配置差异明显的集群(如混合新旧硬件的数据库集群)
3、IP哈希(IP Hash)
根据客户端IP计算哈希值,固定映射到特定服务器,维持会话一致性。适用场景:需保持用户状态的系统(如购物车会话)
优缺点:
优点:实现简单、开销低、无状态决策快速。
缺点:无法响应服务器故障或负载波动,可能导致资源闲置或过载
典型场景:
中小型网站、内部管理系统(负载稳定,扩缩容不频繁)
静态资源分发(图片、CSS文件)
二、动态负载均衡
核心原理:实时监控服务器状态(CPU、内存、连接数等),动态调整分配策略。
算法与特点:
1、最少连接数(Least Connections)
优先选择当前活跃连接最少的服务器。适用场景:长连接服务(如WebSocket实时通信)
2、最小响应时间(Least Response Time)
综合连接数与历史响应时间,选择预期最快的服务器。适用场景:高实时性要求系统(在线交易平台)
3、动态加权算法
根据实时负载计算权重(如CPU利用率>80%时权重降级)。适用场景:云计算环境(AWS ELB自动伸缩组)
优缺点:
优点:灵活适应负载变化,提升资源利用率与系统容错性。
缺点:实现复杂,需持续监控与计算,引入轻微延迟
典型场景:
高并发Web服务(电商大促如双11,Nginx动态分流)
云计算平台(根据负载自动扩缩容器实例)
数据中心能效优化(动态调度降低25%能耗)
三、基于场景的负载均衡
核心原理:结合静态规则与动态调整,针对特定业务场景定制策略。
常见类型:
1、全局负载均衡(GSLB)
按地理位置、网络延迟等静态规则分配流量,结合动态健康检查。
适用场景:跨国业务(用户访问就近数据中心)
2、内容感知路由(Content-aware Routing)
解析应用层协议(如HTTP URL),将API请求与静态资源请求分流至不同集群。
适用场景:微服务架构(Kubernetes Ingress按路径分发)
3、混合策略
静态分组+组内动态调度(如电商将高库存商品请求静态分到高性能组,组内动态分配)
典型场景:
多地域部署系统(GSLB实现灾备切换)
协议敏感型服务(视频流用QUIC协议分流至优化服务器)
安全合规场景(金融系统将敏感请求定向至隔离集群)