运维网络中的负载均衡(Load Balancing)核心目标是将流量合理分发到多个后端资源(服务器、服务实例、链路等),避免单点过载、提升可用性、扩展性和响应速度。下面从原理、常见方案、部署方式、运维实践几个层面系统说明。
| 层级 | 类型 | 常见协议 | 示例 |
|---|---|---|---|
| L4 | 四层负载均衡 | TCP / UDP | LVS、HAProxy、Nginx Stream |
| L7 | 七层负载均衡 | HTTP / HTTPS / gRPC | Nginx、Envoy、Traefik |
| DNS | 域名级 | DNS | DNS轮询、GSLB |
| 链路 | 多出口 | BGP、策略路由 | 多运营商出口 |
✅ 实践建议:
适合:Web 服务、API、HTTP/HTTPS
✅ 优点:
❌ 缺点:
upstream backend {
least_conn;
server 10.0.0.1:8080;
server 10.0.0.2:8080;
}
server {
listen 80;
location / {
proxy_pass http://backend;
}
}
适合:高并发 TCP / HTTP
✅ 优点:
❌ 缺点:
适合:超大流量、四层
✅ 优点:
❌ 缺点:
适合:K8s、微服务
✅ 优点:
❌ 缺点:
| 算法 | 说明 | 适用场景 |
|---|---|---|
| 轮询(Round Robin) | 平均分配 | 节点性能一致 |
| 最少连接(Least Conn) | 谁闲给谁 | 长连接 |
| IP Hash | 同 IP 固定节点 | 会话保持 |
| 权重 | 按能力分配 | 配置不均 |
| 随机 | 简单 | 无状态服务 |
✅ 运维建议:
Client → LB → Server1/2/3
VIP
├─ LB Master
└─ LB Backup
✅ 防止 LB 本身成为单点
用户 → DNS → 就近机房 LB
✅ 容灾 + 就近访问
option httpchk GET /health
server s1 10.0.0.1:8080 check
Internet
↓
DNS / GSLB
↓
LB(Nginx / HAProxy + Keepalived)
↓
应用服务器集群
↓
DB / 缓存
运维网络做负载均衡,本质是:选对层级、选对算法、做好健康检查、保证 LB 本身高可用。
如果你愿意,我可以:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。