我们正处于使我们的 Web 应用程序服务冗余的计划阶段。现在我们在托管中心拥有自己的物理服务器,运行连接到 EqualLogic SAN 的 VMWare 集群。这是一个 LAMP 设置。我们想建立第二个站点,用于负载平衡或作为主动/被动故障转移(我认为我们一直倾向于后者,但尚未做出任何决定)。
在绘图板上,我们提出了我们认为简单的解决方案。ourdomain.com 解析为 1.2.3.4,这是负载均衡器的 IP 地址,或者故障转移服务或类似 apache 的反向代理的东西。请求进入它并将请求转发到适当的数据中心。这样,如果数据中心 A 出现故障,我们只需更改负载均衡器即可将所有请求发送到数据中心 B。
我们未能找到提供此类服务的任何人。我们询问过的每个人(比如 X0 和 L3)都说他们真的不知道我们是否会找到类似的东西。我们的最终目标是在两个站点之间实现冗余,以最大限度地减少停机时间,无论是硬件故障还是整个数据中心因自然灾害而离线。我们向各种供应商描述了这种设置,但没有人熟悉任何此类服务。
我们遇到的最好的想法是使用故障转移 DNS。我们目前使用 dnsmadeeasy.com,如果他们的监视器检测到站点 A 变暗,他们将更改 DNS 以解析为站点 B 的 IP。我们已经做了一些测试,即使我们的 TTL 为 1 分钟,它也需要DNS 服务器平均需要大约 15 分钟才能完成更改,而我们在海外查询的一些 DNS 提供商(例如澳大利亚,这对我们很重要)需要将近一个小时才能完成更改。这还不够好。
那我错过了什么?
- 是否存在托管故障转移解决方案?为什么所有这些知名公司都表现得好像他们以前从未听说过这样一个概念,而这个概念似乎应该相当普遍?
- mod_proxy 对我们有用吗?如果是这样,您能否设置一个 Apache 服务器集群来执行 mod_proxy,这样 IT 就不会成为单点故障?
- 您是否可以建议更好的冗余站点解决方案?
回答你的问题:
就个人而言,我建议您深吸一口气,认真考虑是否真的有必要采用近乎零停机时间的异地冗余。真的,你在这里做什么会让你因为 15 分钟的中断而损失 200 万美元以上?因为这是您正在寻找的那种每次中断事件的成本,以提供此类基础设施的基本形式(假设您使用的是不会经常停机的良好设施)。在设置这样的东西并保持其运行所需的工程工作与重新设计应用程序以使其正常工作所涉及的成本之间在这种分布式环境中,您将为此投入大量资金,并且保持这种状态将是持续不断的成本(想想您将无法实现的所有功能)实施,因为它不能跨多个站点正常工作,更不用说运行所有额外基础设施的月度成本了)。