如果第一个主机离线,如何将请求重定向到第二个主机?

如果第一个主机离线,如何将请求重定向到第二个主机?

我有两台主机位于不同的网络(不同的 ISP)。如果第一台主机离线(意外),我希望将所有流量重定向到第二台主机。

有什么技术解决方案可以解决这个问题?有没有办法设置要发送给使用 DNS 与主机通信的客户端的 IP 地址队列?

这些是 FreeBSD 机器。

答案1

您需要的是某种负载平衡系统。负载平衡系统可以通过多种不同的方式实现。其中一些是:

  1. 专用负载平衡服务器 - 此设备位于后端节点的“前面”,并根据您设置的条件将请求定向到其中一个或多个。
  2. DNS 故障转移 - 内置于 DNS 服务器的自动化功能,根据预先确定的条件自动再次更改与某个主机名关联的 IP。
  3. CARP/虚拟 IP/等 - 两个或多个运行心跳的服务器,如果其中一个服务器发生故障,其中一个服务器可以接管另一个服务器的 IP 地址。由于您的服务器位于两个不同的 AS 中,因此这在您的情况下可能不起作用。

在这两个选项中,您可以选择优先选择 1 号选项,因为客户端会缓存 DNS 查找,因此在发生故障转移时,一些客户端可能会遇到故障,直到它们的 DNS 缓存过期,然后它们才会发出另一个 DNS 查找。

HAProxy是一款功能强大且广泛使用的 F/OSS 负载均衡器 - 事实上它被所有 SE 网站使用。HAProxy支持FreeBSD。

相关内容