AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 34578
In Process
Chris Harris
Chris Harris
Asked: 2009-07-02 08:42:36 +0800 CST2009-07-02 08:42:36 +0800 CST 2009-07-02 08:42:36 +0800 CST

至少三个 9 (99.9%) 正常运行时间的廉价、最小、强大的 Web 应用程序托管?

  • 772

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

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

现在可以从任何合理的提供商(Amazon EC2、Slicehost等)以大约 80 美元/月的价格租用一个相当不错的 VPS 解决方案。然而,这些 VPS 托管解决方案都不是完美的,我经历过超过 99.9% 的停机时间。

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

我过去曾遇到过 DNS 问题,但这可以由外部专用提供商(如DNS Made Easy)以非常便宜的价格(15 美元/年)处理。这也支持在必要时动态修改 DNS 条目,如果您不打算在危机期间手动更新它们,这很方便。

每天至少应该对外部源(S3 或 FTP 站点)进行一次备份 - 每月最少一次。您需要一个自动部署和恢复脚本,以便从您的备份中获得超过 3 个 9。

由于数据库的可用性,我不太觉得这完全存在,但它会花费你大约 80x3 美元 + 磁盘空间 + DNS = 250 美元/月。

一个人能做得更好吗?

hosting high-availability web-applications
  • 6 6 个回答
  • 702 Views

6 个回答

  • Voted
  1. Brandon
    2009-07-02T08:53:36+08:002009-07-02T08:53:36+08:00

    便宜,最小和强大?你刚刚击中了“好/快/便宜”的邪恶三角——选择 2,你不能拥有全部 3。:)

    实际上,如果您可以以 250 美元/月的价格执行具有故障转移功能的地理冗余应用程序,那么您已经做得很好了。

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

    • 4
  2. tomjedrz
    2009-07-02T09:24:00+08:002009-07-02T09:24:00+08:00

    我同意你在哪里做得很好。

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

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

    请记住,就主机而言,一旦他们为您提供工作服务器,您就可以备份。如果您出现故障,并且 90 分钟后他们为您提供了另一台服务器,那么您的停机时间为 90 分钟。如果你需要三天才能让它工作,那额外的三天不是他们的问题。

    数据库服务器显然是单点故障......您必须确定您对这种风险的容忍度以及减轻风险的成本。我对使数据库服务器冗余的了解不多,只是对于小型系统来说确实很难。如果这让您担心,您最好的选择是签订合同来托管数据库本身,而不是使用 VPS 并管理您自己的数据库服务器。一个例子(来自谷歌,不是推荐)可以在这里找到;它不是特别贵。

    • 2
  3. egorgry
    2009-07-02T08:59:13+08:002009-07-02T08:59:13+08:00

    http://www.linode.com/index.cfm对我的一些朋友来说非常可靠。它们有多个位置,您可以轻松扩展。

    • 1
  4. Martin M.
    2009-07-02T09:07:47+08:002009-07-02T09:07:47+08:00

    我认为您在这里面临2-3个问题:

    正常运行时间定义

    三个九包括或不包括已宣布的维护窗口?你们会提前多久宣布维护窗口?

    硬件正常运行时间

    这只会随着冗余而扩展。你永远不知道它什么时候会坏,三个九意味着每年只有大约 9 小时的停机时间。因此,即使是 4 小时的合同也只会给您一次停机时间(如果确实在 4 小时内修复,则为 2 次——但这并不便宜)。恕我直言,您必须为此拥有 2 台服务器

    软件/服务正常运行时间

    您是否要通过 ping 可达性、HTTP 答案来定义正常运行时间,如何?- 您可以通过预先定义您认为“向上”的内容来轻松解决这个问题(或者如果这更容易,您认为“向下” - 但那将是不良枚举)

    就便宜而言,我不知道你所说的便宜是指初始成本还是运行成本。您几乎可以在任何地方获得一些便宜的服务器,但您可能需要更多的服务器来排除硬件损坏,或者从 HP、Dell、IBM 购买一些不错的硬件,初始成本较高,但硬件损坏的可能性要低得多,因此会有较低的运行成本。只需计算一生中哪一个会更便宜。

    如果您只想要一些网址:

    server4you 对我来说非常好 具有地理冗余位置(欧盟和美国)的 EC2 也可能非常有趣

    编辑:要清楚,当我说 2 台机器时,我的意思是每个用例的冗余机器(冗余 DB、冗余 Web、冗余 DNS、冗余$whatever

    • 1
  5. KPWINC
    2009-07-02T08:49:14+08:002009-07-02T08:49:14+08:00

    根据您的确切流量、需求和要求,我在 1 和 1 上托管了许多较小的 Web 应用程序,根本没有太多麻烦。

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

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

    大多数体面的托管公司很容易做到这一点。

    • 0
  6. Jim B
    2009-07-02T08:57:45+08:002009-07-02T08:57:45+08:00

    我会推荐折扣 ASP.net。我喜欢你可以获得免费的沙盒服务器这一事实,而且我不记得我见过任何停机时间。

    • -2

相关问题

  • 您推荐/使用哪些免费的开源 CPanel 和 WHM 替代品?[关闭]

  • 在不同的托管服务提供商之间迁移时要解决的关键问题是什么?

  • 什么是最有效的 Windows 负载平衡解决方案?

  • 这个 Web 服务器可以处理多少个站点?[复制]

  • 您最喜欢的云计算提供商是什么?[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve