我需要创建一个 apache + tomcat 可靠、高可用的集群。我看过很多关于如何创建这种架构的文档:
__________________________ _____________
| Load balancer | 1 ________________ * | Tomcat |
|__________________________| |_____________|
但我需要制作几个负载平衡器。而如何组织这个架构对我来说是个问题。有没有关于如何使负载平衡器主机可靠的文章?
__________________________
| Load balancer |
|__________________________|
_____________|____________ _____________
| Load balancer |*________________ * | Tomcat |
|__________________________| |_____________|
_____________|____________
| Load balancer |
|__________________________|
答案1
您的描述不太清楚。您没有明确说明是否希望所有负载均衡器都处于活动状态,还是只让一个处于活动状态,其他处于待机状态以备故障转移之用。
如果您只希望一个负载均衡器处于活动状态,其他负载均衡器将处于待机状态,则只需安装 HA 解决方案(例如 keepalived 或 heartbeat)以将 VIP 分配给其中一个负载均衡器。然后,您需要将所有流量导向此 VIP。如果活动负载均衡器发生故障,此 VIP 将分配给另一台机器。
如果您想要拥有多个活动负载均衡器,则需要在另一个层面上执行此操作,例如使用防火墙将流量定向到多个目的地(负载均衡器)。我已经使用DNAT
规则完成了此操作,该规则将根据客户端源 IP 分配流量。这种方式的一个明显限制是您需要知道或至少对客户端源 IP 有所期望。