我将运行一个dynamic网站,如果服务器永远停止响应,我想故障转移到一个静态网站,显示“我们正在维护”页面。 我一直在阅读,我发现,dynamic切换DNS可能是一个select,但这种改变发生多快? 大家会立即看到变化吗? 有没有更好的方法来故障转移到另一台服务器?
你会发现这个维基百科文章非常丰富,因为它列出了很多软件。 可悲的是我不认为这在Windows中很容易或廉价地完成。
你想要的是这样的 – Linux的HA – 据我所知,服务器通过内部IP的每个谈话。 如果完成了,那么来自该群集的另一台机器接pipe对该IP的控制。 MS拥有Microsoft Cluster Server(MSCS)和Microsoft Server Server 2008的Windows Server故障转移群集(WSFC)。
你的另一种select是使用VMWare来完成它,它具有相同的故障切换function,但是你必须购买vmware的许可。
你可以运行另一个nginx作为代理,让这台机器pipe理“故障转移”。 我也是从这种环境开始的,但似乎成了某种标准。 🙂
您必须控制DNS名称服务器才能指定DNS故障转移服务。 我在ZoneEdit上使用托pipeDNS服务作为我的主名称服务器,并将我的主机DNS列为辅助名称服务器。 我使用区域编辑,因为他们提供故障转移服务。 DNSmadeeasy是另一个不错的select。
你可以用haproxy做到这一点 ,这是一个非常快速和可靠的代理。 此外,您可以在服务器上进行维护时使用本文档第4.1节所述的软停止技巧。 希望这可以帮助。
当您使用在停机时间redirect请求的代理时,只能将您的单点故障(spof)从Web服务器更改为代理。 所以你肯定需要一个群集软件(例如Insanity5902提到的linux-ha或mscs)或群集硬件(例如两个具有热故障切换function的负载平衡器)。
除了已经发现的caching问题之外,dns还有一个分发延迟,可能长达24小时。 但你可以使用DNS来做负载平衡是一个fqdn两个或更多的IP地址。 但是这不会在任何情况下都能达到目的。 想象一下ip已经启动,但是你的web服务器没有响应,那么客户端将会超时。
你可以使用代理为那个nginx做你的工作,或者可能是http协议的负载均衡器软件工具,如笔 。 如果你寻找硬件解决scheme,你可以看看一些像Radware一样的设备 。