NGINX:使用多个节点作为负载均衡器

NGINX:使用多个节点作为负载均衡器

我在机器 A、B、C、DI 上的 tomcat 服务器上部署了应用程序,想要使用两个负载均衡器节点 LB1 和 LB2 使用 Nginx 进行负载平衡。

所有文档都讨论了使用单个节点作为负载均衡器。是否可以使用两个 Nginx 节点作为负载均衡器?

如果我们在服务器上运行一个关键应用程序,则需要零停机时间。如果我们使用一个 LB,并且由于某种原因 LB 本身发生故障,那么就会出现问题。

答案1

在没有硬件负载均衡器的情况下,在 nginx 前面使用类似的东西来实现这一点,keepalived它允许您创建一个在两个 nginx 服务器之间浮动的 VIP(虚拟 IP)地址。因此,它的工作原理是 keepalive 在主动/备用模式下运行,因此 1 个 nginx 服务器正在接收所有流量并将 VIP 附加到它。一旦备用服务器看到活动服务器关闭,它就会告诉上游交换机 VIP 现在在这里,所以现在更新您的 MAC 表并向我发送流量。

答案2

使用 VRRP/CARP 创建主动/被动HA 集群。在 Linux 上,用户使用ucarp,在 FreeBSD 上,用户使用。除此之外,其他一切都与一个平衡实例if_carp(4)相同。当然,必须使用 CARP 地址。nginxserver {}listen

相关内容