我将运行一个动态网站,如果服务器停止响应,我希望故障转移到显示“我们已停机维护”页面的静态网站。我一直在阅读,发现动态切换 DNS 可能是一种选择,但这种变化会多快发生?每个人都会立即看到变化吗?有没有更好的方法可以故障转移到另一台服务器?
答案1
你会找到这个维基百科这篇文章信息量很大,因为它列出了很多软件。遗憾的是,我认为在 Windows 中做到这一点并不容易,也不便宜。
你想要的是这样的 -Linux 高可用性- 据我所知,服务器通过内部 IP 相互通信。如果一台服务器出现故障,则该集群中的另一台机器将接管该 IP 的控制权。MS 拥有 Microsoft Cluster Server (MSCS) 和 Microsoft 的 Windows Server Failover Clustering (WSFC) for Server 2008。
您的另一个选择是考虑使用 VMWare 来执行此操作,它具有相同类型的故障转移功能,但您必须首先购买 vmware 许可证。
答案2
您可以运行另一个nginx作为代理并让这台机器管理“故障转移”。我也刚开始使用这种环境,但它似乎已经成为某种标准。:-)
答案3
您必须控制 DNS 名称服务器才能指定 DNS 故障转移服务。我使用 ZoneEdit 的托管 DNS 服务作为我的主名称服务器,并将我的主机 DNS 列为辅助名称服务器。我使用 Zone Edit 是因为他们提供故障转移服务。DNSmadeeasy 是另一个不错的选择。
答案4
当您使用在停机情况下重定向请求的代理时,您只会将单点故障(spof)从 Web 服务器更改为代理。因此,您肯定需要一个集群软件(例如 Insanity5902 提到的 linux-ha 或 mscs)或集群硬件(例如具有热故障转移功能的两个负载平衡器)。
除了您已经发现的缓存问题之外,dns 还存在长达 24 小时的分发延迟。但您可以使用 dns 进行负载平衡,为 fqdn 提供两个或更多 ip 地址。但这并不适用于每种情况。想象一下,ip 已启动,但您的网络服务器没有响应,则客户端将超时。