Not*_*tMe 319 windows-server-2008 failover
我们今天从客户那里收到了一个有趣的“要求”。
他们希望在 Web 应用程序上实现100% 的正常运行时间和异地故障转移。从我们的 Web 应用程序的角度来看,这不是问题。它旨在能够跨多个数据库服务器等进行横向扩展。
但是,从网络问题来看,我似乎无法弄清楚如何使其工作。
简而言之,应用程序将存在于客户端网络中的服务器上。内部和外部人员都可以访问它。他们希望我们维护一个系统的异地副本,如果他们的场所发生严重故障,该副本将立即恢复并接管。
现在我们知道内部人(信鸽?)绝对没有办法解决它,但他们希望外部用户甚至不会注意到。
坦率地说,我对这可能是怎么做到的一无所知。似乎如果他们失去 Internet 连接,那么我们将不得不进行 DNS 更改以将流量转发到外部机器......当然,这需要时间。
想法?
更新
我今天与客户进行了讨论,他们澄清了这个问题。
他们坚持 100% 的数字,说即使发生洪水,应用程序也应该保持活动状态。但是,只有当我们为他们托管时,该要求才会生效。他们表示,如果应用程序完全存在于他们的服务器上,他们将处理正常运行时间要求。你可以猜到我的反应。
Gre*_*egD 369
这是维基百科的九点追求图表:

有趣的是,2007 年排名前 20 的网站中只有3 个能够达到神话般的 5 个 9 或 99.999% 的正常运行时间。它们是 Yahoo、AOL 和 Comcast。在 2008 年的前 4 个月,一些最受欢迎的社交网络甚至还没有接近这一点。
从图表中可以看出,追求 100% 正常运行时间是多么荒谬……
Pre*_*gha 190
让他们定义 100% 以及如何在什么时间段内测量它。他们可能意味着尽可能接近 100%。给他们算成本。
详细说明。多年来,我一直在与客户进行讨论,提出一些荒谬的要求。在所有情况下,他们实际上只是使用不够精确的语言。
很多时候,他们以看似绝对的方式来构建事物——比如 100%,但实际上,在更深入的调查中,他们足够合理地进行成本/收益分析,这在提供风险缓解数据的成本计算时是必需的。询问他们将如何衡量可用性是一个关键问题。如果他们不知道这一点,那么您就必须向他们建议这需要首先定义。
如果网站在以下情况下宕机,我会要求客户定义在业务影响/成本方面会发生什么:
以及他们将如何衡量这一点。
通过这种方式,您可以与他们一起确定“100%”的正确水平。我怀疑通过询问这些类型的问题,他们将能够更好地确定其他需求的优先级。例如,他们可能希望支付一定级别的 SLA 并损害其他功能以实现这一目标。
EEA*_*EAA 138
你的客户疯了。无论您花多少钱,100% 的正常运行时间都是不可能的。简单明了——不可能。看看谷歌、亚马逊等。他们有近乎无穷无尽的资金投入他们的基础设施,但他们仍然设法停机。你需要向他们传达这个信息,如果他们继续坚持提出合理的要求。如果他们没有意识到一定程度的停机时间是不可避免的,那就放弃他们。
也就是说,您似乎拥有扩展/分发应用程序本身的机制。网络部分将需要涉及到不同 ISP 的冗余上行链路,获得 ASN 和 IP 分配,并深入了解 BGP 和真正的路由设备,以便 IP 地址空间可以在需要时在 ISP 之间移动。
很明显,这是一个非常简洁的答案。您没有使用过需要这种正常运行时间的应用程序的经验,因此如果您想接近神话般的 100% 正常运行时间,您确实需要请专业人员参与。
jdw*_*jdw 54
嗯,这绝对是一个有趣的。我不确定我是否想让自己在合同上有义务保证 100% 的正常运行时间,但如果我必须这样做,我认为它看起来像这样:
从完全脱离网络的负载均衡器上的公共 IP 开始,至少构建其中的两个,以便一个可以故障转移到另一个。像 Heatbeart 这样的程序可以帮助自动故障转移。
Varnish 主要被称为缓存解决方案,但它也做了一些非常不错的负载平衡。也许这将是处理负载平衡的好选择。它可以设置为有 1 到 n 个后端可选地分组在控制器中,这将随机或循环进行负载平衡。Varnish 可以变得足够智能,可以检查每个后端的健康状况,并将不健康的后端排除在循环之外,直到它重新上线。后端不必在同一网络上。
这些天我有点喜欢 Amazon EC2 中的弹性 IP,所以我可能会在 EC2 中的不同区域或至少在同一区域的不同可用区中构建我的负载均衡器。如果您必须将现有的 A 记录 IP 移动到新的盒子,那您可以选择手动(上帝保佑)启动一个新的负载均衡器。
但是,Varnish 不能终止 SSL,所以如果这是一个问题,你可能想看看像 Nginx 这样的东西。
您可以在您的客户端网络中拥有大部分后端,而在其网络之外拥有一个或多个后端。我相信,但不是 100% 肯定,您可以优先考虑后端,以便您的客户端机器获得优先权,直到它们全部变得不健康为止。
如果我有这个任务并且毫无疑问地随着我的进展不断完善它,我就会从那里开始。
但是,正如@ErikA 所说,它是互联网,并且网络中总会有一些不受您控制的部分。您需要确保您的法律只将您与您控制范围内的事情联系起来。
Nic*_*int 30
没问题——虽然稍微修改了合同措辞:
... 保证 100% 的正常运行时间(四舍五入到零小数位)。
Mik*_*ike 26
如果 Facebook 和亚马逊做不到,那你也做不到。就这么简单。
Jun*_*ter 25
我不明白这是什么问题。客户希望你为灾难做计划,而他们不是面向数学的,所以要求 100% 的概率听起来很合理。工程师,正如工程师们倾向于做的那样,记得他第一天的 prob&stat 101,没有考虑到客户可能不会。当他们这么说时,他们不是在考虑核冬天,而是在考虑 Fred 把他的咖啡倒在办公室服务器上、磁盘崩溃或 ISP 宕机。此外,您可以完成此操作。使用地理上不同的、独立的、自我监控的服务器,您基本上不会有停机时间。3 台服务器独立运行 (1) 三 9 可靠性,具有良好的故障转移模式,您的预期停机时间每年不到一秒 (2)。即使这一切一下子发生,您仍然处于 Web 连接的合理 SLA 范围内,因此实际上不存在停机时间。客户端仍然需要处理世界末日场景,但哥斯拉除外,他将拥有“永远”启动的服务。
(1) 洛杉矶的服务器与波士顿的服务器合理地独立,但是,是的,我知道存在一些涉及核战争、中国黑客破坏电网等的交叉点。我认为您的客户不会因为这个。
(2) DNS 故障转移可能会增加几秒钟。您仍然处于客户端必须每年重试一次请求的情况,这同样在合理的 SLA 内,并且通常不会被视为与“停机”相同的情况。对于在故障时自动重新路由到可用节点的应用程序,这可能不会引起注意。
vor*_*aq7 17
你被要求做一些不可能的事情。
在这里查看其他答案,与您的客户坐下来,解释为什么这是不可能的,并评估他们的反应。
如果他们仍然坚持 100% 正常运行时间,请礼貌地告知他们无法完成并拒绝合同。你永远不会满足他们的要求,如果合同不完全糟糕,你会受到惩罚。
Bry*_*her 13
相应的价格,然后在合同中规定超过 SLA 的任何停机时间都将按他们支付的费率退还。
我上一份工作的 ISP 就是这样做的。我们可以选择一条正常运行时间为 99.9% 的“常规”DSL 线路,价格为 40 美元/月,或者是 99.99% 正常运行时间的绑定三条 T1 线路,价格为 1100 美元/月。每月经常中断 10 多个小时,这使他们的正常运行时间远低于 40 美元/月的 DSL,但我们只获得了大约 15 美元左右的退款,因为这就是每小时 * 小时的费率。他们从交易中弄得像土匪一样。
如果您每月支付 450,000 美元以获得 100% 的正常运行时间,而您只达到 99.999%,则需要向他们退还 324 美元。我敢打赌,假设完全分布式的主机、多个 1 级上行链路、花哨的硬件等,基础设施成本达到 99.999% 将在每月 45,000 美元左右。
Paw*_*cki 10
如果专业人士质疑99.999% 的可用性 [是] 实际或经济上可行的可能性,那么 99.9999% 的可用性甚至更不可能或不切实际。更别说100%了。
您将无法在很长一段时间内达到 100% 的可用性目标。您可能会在一周或一年内逍遥法外,但随后会发生一些事情,您将承担责任。后果可能从声誉受损(你承诺过,你没有兑现)到合同罚款导致的破产。
小智 10
有两种类型的人要求 100% 正常运行时间:
我的建议,在很多情况下都遭受过这两种类型的客户,是不要接受这个客户。让他们把别人逼疯。
*同一个人可能不会不好意思询问超光速旅行、永动机、冷聚变等。
小智 8
我会与客户沟通,与他们确定 100% 正常运行时间究竟意味着什么。他们可能没有真正看到 99% 正常运行时间和 100% 正常运行时间之间的区别。对于大多数人(即不是服务器管理员)来说,这两个数字是相同的。
100% 正常运行时间?
这是您需要的:
多个(和冗余)DNS 服务器,指向世界各地的多个站点,每个 ISP 都有适当的 SLA。
确保 DNS 服务器设置正确,有效识别 TTL。
这很简单。Amazon EC2 SLA 明确指出:
“年度正常运行时间百分比”的计算方法是从 100% 中减去服务年度中 Amazon EC2 处于“区域不可用”状态的 5 分钟时间段的百分比。
http://aws.amazon.com/ec2-sla/
只需将“正常运行时间”定义为相对于整个服务包,您实际上可以在 100% 的时间内保持运行,并且应该没有问题。
此外,值得指出的是,SLA 的全部意义在于定义您的义务是什么以及如果您无法满足这些义务会发生什么。客户要求 3 个 9 或 5 个 9 还是 100 万个 9 并不重要——问题是当/如果您无法交付时,他们会得到什么。显而易见的答案是以您想要收取的价格的 5 倍提供一个 100% 正常运行时间的订单项,然后如果您错过该目标,他们将获得 4 倍的退款。你可能会得分!
DNS 更改仅在配置为需要时间时才需要时间。您可以将记录的 TTL 设置为一秒 - 您唯一的问题是确保您及时响应 DNS 查询,并且 DNS 服务器可以处理该级别的查询。
这正是 GTM 在 F5 Big IP 中的工作方式 - 默认情况下 DNS TTL 设置为 30 秒,如果集群的一个成员需要接管,DNS 会更新,新 IP 几乎立即被占用。最多 30 秒中断,但这是边缘情况,平均为 15 秒。
| 归档时间: |
|
| 查看次数: |
65743 次 |
| 最近记录: |