主题
负载均衡
常见负载均衡算法
- 静态算法(不考虑服务器动态负载):
- 轮询:轮流调度。
- 加权轮询:考虑不同节点的处理能力,处理能力强的权重大。
- 源地址哈希:根据源 IP 地址进行哈希。稳定。
- 随机:随机分配,简单不可控。
- 目标地址哈希:根据请求的目标 IP 地址(多个虚拟IP)进行哈希。
- 动态算法(考虑服务器动态负载):
- 最小连接数:每个节点处理能力相同,新请求分配给当前活动请求数量最少的节点。
- 加权最小连接数:考虑不同节点的处理能力,并按最小连接数分配。
- 加权百分比:考虑节点的利用率、硬盘速率、进程数等,使用利用率来表现处理能力。
硬件负载均衡
代表产品:F5、A10等。硬件负载均衡性能远高于软件负载均衡。
特点:高性能、高可靠、高成本。
DNS负载均衡
DNS负载均衡是一种通过将域名解析到多个 IP 地址来实现服务器负载均衡的技术。它的主要目的是优化网络流量分配,提高网站性能和可用性。

优点:
- 简单、成本低:无需自己开发和维护负载均衡设备。
- 就近访问,提升访问速度。
缺点:
- 更新不及时:DNS 缓存时间比较长。
- 扩展性差:控制权在域名商,无法根据业务特点做定制化功能和扩展特性。
- 分配策略简单:DNS 支持的负载均衡算法较少。
- 无法感知后端服务器的状态。
软件负载均衡
| 代表产品 | 工作层 | 描述 |
|---|---|---|
| Nginx | 七层负载均衡 | 适合处理 HTTP 请求。反向代理、静态资源缓存等。 |
| HAProxy | 七层或四层负载均衡 | 专业的 HTTP 和 TCP 负载均衡软件。支持会话保持。 |
| LVS | 四层负载均衡 | Linux 内核模块,可搭建一个高性能、高可用的服务器集群。 |
并发参考指标:
- F5:百万级别,200万/秒到800万/秒都有。
- Nginx:万级,一般的 Linux 服务器安装的 Nginx 可达到5万/秒。
- LVS:十万级,据说可达到80万/秒。