高可用性负载均衡与Keepalived配置详解
1. 负载均衡算法选择
对于使用长持久连接的服务,如在线游戏服务器,最少连接算法是更好的选择。若使用轮询方法,由于新连接相对较少但每个连接的资源消耗高,可能导致部分服务器过载或负载分配不均。最少连接算法通过跟踪每个服务器的活动连接数,能有效解决这一问题。
如果响应延迟是服务质量的关键因素,最短预期延迟和永不排队算法可以改善这一情况,而轮询和最少连接算法完全不考虑响应时间。
2. LVS负载均衡方法
LVS提供三种负载均衡方法:直接路由、IP隧道和NAT。以下是它们的对比:
| 机制 | 实现方式 | 优点 | 缺点 |
| — | — | — | — |
| 直接路由 | 替换目标MAC地址 | 性能最佳;真实服务器直接向客户端发送回复 | 所有服务器必须在同一网络;ARP处理有困难 |
| IP隧道 | 使用隧道协议封装客户端请求 | 真实服务器直接向客户端发送回复;真实服务器可在任何网络 | 真实服务器必须支持IPIP隧道并与虚拟服务器建立隧道;返回数据包可能被视为欺骗而被拒绝 |
| NAT | 后台创建NAT规则 | 真实服务器无需公共地址或特殊配置 | 相对资源密集;所有流量都通过虚拟服务器 |
2.1 NAT负载均衡
NAT是LVS最实用的负载均衡方法,原因如下:
- 真实服务器无需公共可路由IP地址,也无需知晓虚拟服务器或进行特殊配置。
- 可使用非公共内部地址,在IPv4地址短缺的情况下尤为重要。
- 虚拟服务器和真实服务器的TCP或UDP端口无需相同,因为虚拟服务器会进