后备 Web 服务器

后备 Web 服务器

假设您只有 2 台服务器,您想在每台服务器上放置一台 Web 服务器吗?您希望 Web 服务器 X 成为主服务器并始终处理所有请求,除非它发生故障,此时 Y 应该启动。
不允许使用负载平衡器,因为它不会提高可用性(它必须与 X 位于同一台服务器上,并且如果 X 发生故障,它很可能会发生故障)。
当然,X 和 Y 都通过同一主机名处理请求。这可能吗?

答案1

使用保持活跃. 为每个主机配置不同的 IP,然后在 keepalived 中配置共享 IP。将您的 www DNS 记录指向共享 IP。

答案2

我脑子里冒出几个想法。你必须研究它们,找出最适合你的情况的,因为我缺少一些可以考虑的信息。

CARP - 如果您运行的是 FreeBSD 或 OpenBSD,那么它就很不错。我认为有一个变体被移植到了 Linux,但它是在用户空间而不是在操作系统级别实现的。我不确定。如果您运行的是 FreeBSD 手册,您可以在其中找到一些很好的详细信息。另请参阅 HAST 以了解文件同步。

反向代理 - 您可以在 apache 或 squid 中使用此功能。基本上,您有 Web 服务器 X 和反向代理 Y 和 Z。然后 X 拥有权威数据,对 Y 或 Z 的请求将导致它们向 X 索取数据。我使用此功能将防火墙保护的 Mac mini 放在互联网上,并让它从某些专有/嵌入式 Windows 服务中分发内容。然后 Windows 中的漏洞就不再是问题了。所以对我来说,这更多的是关于安全性,而我的技能较差的是保护 Windows。但是,我听说有些人使用它来实现“负载平衡”。

IP - 如果您不介意手动执行此操作,您可以随时重新配置第二台服务器的 IP,使其成为第一台服务器。虽然不优雅或快速,但便宜且相当容易。CARP(见上文)实际上是此操作的自动化。您甚至可以使用 cron、shell 和 ping 的混合来模糊地模拟此操作。

负载平衡器硬件 - 我从拥有比我管理的系统更大的系统的人那里听说过这个。我对此了解不多,但它确实存在。

希望有所帮助。

答案3

这可以通过设置循环 DNS 来实现,其工作原理是不仅使用单个 IP 地址响应 DNS 请求,而且使用 IP 地址列表响应 DNS 请求。

相关内容