1

假设我有一个通常在地址 www.mywebsite.com 访问的网站。

现在假设网站完全关闭(认为服务器已经融化)。我希望尝试访问 www.mywebsite.com 的用户最终访问另一台服务器上的维护 URL,而不是 404。

这是否可能很容易而无需通过调度程序/负载平衡器路由所有流量?

我可以想象这样的事情:

当默认服务器为 UP 时,流量如下:

[用户]<---->[www.mywebsite.com]<---->[调度员]<---->[默认服务器]

当默认服务器关闭时,流量如下:

[用户]<---->[www.mywebsite.com]<---->[调度员]<---->[维护服务器]

[DISPATCHER] 确定将流量路由到哪里。问题是在这种情况下, 所有流量都通过 [DISPATCHER]。我可以让第一个连接通过调度程序,然后,如果默认服务器启动,流量直接从用户到默认服务器?(例如每 10 - 15 分钟检查一次)

[USER]<---->[www.mywebsite.com]<-------->[DEFAULT SERVER] 第一次连接成功后

提前致谢!

4

1 回答 1

0

不幸的是,也许最实际的解决办法就是放弃。直到浏览器最终添加对 SRV 记录的支持......

您可以使用动态 DNS 实现您想要的 - 在“维护服务器”上设置一些监控脚本,以检查您的网站是否已关闭,如果是,请更新您网站的 DNS 并将其指向维护服务器。这种方法有其自身的问题,其中最大的问题是任何监控都可能产生误报,因此您的用户将在站点实际运行时看到维护页面。

另一种可能的方法(甚至更糟) - 例如,让 www.example.com 指向您的调度服务器,而 www2.example.com - 指向您的主服务器。然后调度程序将 HTTP 重定向所有传入的请求到 www2.example.com。

但是当你的调度员融化时你会怎么做?- 在尝试处理一个故障点时,您只是添加了另一个故障点。

也许在一些 javascript 中处理所有页面链接是实用的,它将首先检查服务器是否启动,然后才跟随链接。这种方法虽然需要一些脚本,但至少在您的服务器关闭而用户已经在您的站点上时提供最佳结果。但对于第一次进入该网站的人来说,它没有任何帮助。

如果只有浏览器会支持 SRV 记录....

于 2012-07-10T14:09:19.143 回答