廉价、精简、强大的 Web 应用程序托管,可实现至少三个九 (99.9%) 的正常运行时间?

廉价、精简、强大的 Web 应用程序托管,可实现至少三个九 (99.9%) 的正常运行时间?

如何才能实现最便宜但又非常可靠的Web应用程序配置?

我们假设至少有 2 台应用服务器(每月 80 美元)加上一台数据库服务器,将在一段时间内支持大多数人的应用程序 - 而且我们只是希望实现良好的可靠性(至少 3 个 9)。

现在可以从任何合理的提供商那里以每月 80 美元左右的价格租用相当不错的 VPS 解决方案(亚马逊 EC2切片主机等)。然而,这些 VPS 托管解决方案都不是完美的,我使用它们时都经历过超过 99.9% 的停机时间。

我不确定如何最好地配置这 3 台机器 - 最好的方法是将两个应用服务器放在不同的提供商上(最好使用不同的网络连接),并使用 HAProxy 互相监视。如果其中一个发生故障,它将更新 DNS 以将其从应用程序的 IP 地址池中删除。但是如何处理数据库服务器?这仍然是一个单点故障。

我过去曾遇到过 DNS 问题,但这可以通过外部专用提供商来处理,例如DNS 变得简单非常便宜(每年 15 美元)。如果需要,它还支持动态修改 DNS 条目,如果您不打算在危机期间手动更新它们,这将非常方便。

每天至少应将备份备份到外部源(S3 或 FTP 站点)一次 - 每月至少备份一次。我认为,您需要一个自动部署和恢复脚本,才能从备份中获得超过 3 个 9 的准确率。

由于数据库可用性,我感觉这还不够,但它将花费你大约 80 美元x3 + 磁盘空间 + DNS = 250 美元/月。

还能做得更好吗?

答案1

便宜、精简、坚固?您刚刚触及“好/快/便宜”的邪恶三角 - 选择 2,您无法同时拥有 3 个。:)

实际上,如果您能以每月 250 美元的价格实现具有故障转移功能的地理冗余应用程序,那么您做得已经相当不错了。

我能想到的唯一替代方案是您已经拥有的 VPS 解决方案,或者 Microsoft Azure 可能符合要求。

答案2

我同意你现在的处境非常好。

确保您拥有可靠的恢复流程,以便能够快速解决遇到的任何故障。

“三个九”可用性相当于一年内大约 8 小时的停机时间。如果不计算维护窗口,这对于主流托管公司来说并不是一个特别苛刻的标准。我怀疑你在两家备受推崇的托管服务上见过更糟糕的情况。

请记住,就主机而言,一旦他们为您提供了一台正常工作的服务器,您就恢复了。如果您发生故障,并且 90 分钟后他们为您提供了另一台服务器,您的停机时间就是 90 分钟。如果您花了三天时间才让其正常工作,那么额外的三天不是他们的问题。

数据库服务器显然是单点故障……您必须确定对该风险的容忍度以及减轻风险的成本。除了这一点之外,我对使数据库服务器冗余了解不多真的很难对于小型系统来说。如果这让您担心,最好的办法是签订合同托管数据库本身,而不是使用 VPS 并管理您自己的数据库服务器。一个例子(来自 Google,不是建议) 可以被找寻到这里;它并不是特别昂贵。

答案3

http://www.linode.com/index.cfm我的一些朋友都信赖这家公司。他们有多家门店,您可以轻松扩展业务。

答案4

根据您的确切流量和需求,我在 1&1 上托管了许多小型网络应用程序,没有任何麻烦。

除此之外...几乎所有流行的托管服务提供商都具有不错的(阅读:已发布的)正常运行时间。

99.9% 的正常运行时间意味着您接受一年内的停机时间为 8 小时 45 分钟 35 秒。

大多数正规的托管公司都很容易实现这一点。

相关内容