本地到远程Web服务器故障切换

简短而又甜美,我想你不需要比这更多的细节:

[能够故障切换到一个function齐全的网站将是非常棒的,但不是必需的,可能不是一个选项]。

显然,当我们的本地服务器closures时,必须有某种异地故障转移。

这样的解决scheme如何实施? 其他build议?

编辑:如果我不使用(或遗漏)一些正确的术语,让我知道!

  • 当您的站点无法联系到时,异地反向代理可以为您提供一个静态页面
  • 某些第三方DNS提供商可以故障切换到另一个IP地址(如果第一个IP地址无法到达)(但这种故障切换可能需要一些时间)
  • 使用heartbeat / ldirectord设置离线服务器可以在本地服务器和外部服务器之间进行负载均衡,或者在内部服务器不可用时切换到外部服务器。 这是您将用来防止最终用户注意您的网站已closures的方法。 (只要确保他们使用相同的内容/数据库来源)

当全部失败时,可以将外部反向代理configuration为将用户redirect到另一个服务器。 这也将负责DNS传播。

谁托pipe您的DNS? DYNdns.org提供的服务,如果你的IP变得无法响应,它会显示一个离线消息或redirect到另一个url。 我相信这就是所谓的networking。 这是我唯一熟悉的,但是如果你的DNS被托pipe,这可能是一个选项。 如果你主持你自己,我不确定。

IPVS (IP虚拟服务器)在Linux内核中实现传输层负载均衡,即所谓的第4层交换。 在主机上运行的IPVS充当真实服务器集群前端的负载均衡器,它可以将对基于TCP / UDP的服务的请求引导到真实服务器,并使真实服务器的服务在虚拟服务器上显示为虚拟服务单个IP地址。

所以你可以select一个外部的ipvs + keepalived设置进行故障转移,如果两个web服务都closures了,你可以在keepalived.conf中指定一个“sorry server”。 如果主机位于不同的子网上,则需要使用LVS-tun(ipip隧道)。

替代文字http://tech.ccidnet.com/col/attachment/2003/11/261517.jpg

有一个称为简单故障转移的服务,可以做你想做的事情,尽pipeDNScaching仍然存在问题,因为它是一个基于DNS的解决scheme。

我在过去的一个类似的问题上发布了更多的技术细节,解释了它背后的机制。