我有一个网站主要托管在 EC2 上,后端 (MySql) 异步复制到 Rackspace 存储。我还计划在 Rackspace 上准备一套 Web 服务器、缓存和数据库,以防万一 Amazon 发生故障。
从这个角度来看,是否有一种解决方案可以让我根据可用性在 EC2 和 Rackspace 之间切换?
答案1
我们使用 dnsmadeeasy 来做同样的事情。DNS 监控和故障转移可以帮助您实现这一点。对于 mysql,您可以设置双向或单向复制;双向复制更好,因为您不必担心切换回来时复制数据。而且一切都可以轻松完全自动化。
答案2
如果您只是希望将其置于“待机”状态,我想您可以使用 DNS 很好地完成此操作(取决于您的正常运行时间要求)。当需要更改时,只需将域指向新 IP。但我知道这是手动的。
除此之外,企业级负载平衡器也可以实现同样的功能,我在一些客户端环境中见过一些,但从未用于故障转移,主要是根据每个用户的地理位置或性能做出决定,由哪个数据中心为该用户提供服务。话虽如此,我知道您可以配置每个主机的负载平衡,使其在大多数设备上以多种不同的方式工作,包括主动/被动(故障转移),因此我相信可以做到同样的事情,但要考虑哪个站点而不是哪个主机。由于工作中可能存在利益冲突,我故意避免推荐任何一个/一些品牌。
如果预算允许,另一种选择是使用 CDN。我不能代表其他人发言,但我曾与 Akamai 合作为联合客户提供服务,他们提供站点故障转移服务,您可能会觉得很有用。查看http://www.akamai.com/html/technology/products/site_failover.html举个例子
答案3
你可以用以下方法支撑另一个盒子心跳作为负载均衡器。如果您确实需要,您可以在 Amazon 和 Rackspace 上托管冗余心跳盒,这将确保即使其中一个服务发生故障,您的负载均衡器仍可正常运行。您可以轻松配置 Heartbeat 以将所有流量导向 Amazon,除非那里的服务器发生故障。
答案4
您需要结合使用 ping 服务(或任何您需要判断中断的服务),然后是短暂的 DNS 条目和用于更改 DNS 的 API。