这是一个坚实(和便宜)的高可用性的想法,我的网站和数据库,如果僵尸的攻击?

我有一个想法,为我的网站的故障转移高可用性,但我不知道,如果这是好的,坏的或灾难本身。

我的主服务器托pipe一个ASP.net网站,在另一台服务器上使用SQL服务器数据库。

两台服务器都在运行镜像RAID驱动器,两块网卡,两台交换机等。供应商保证99.999%的正常运行时间,但是出现了一些问题,他们花了差不多一天时间才解决。

我更关心的问题,如域名/ DNS问题,这是我们直接控制,可能需要6-24小时传播。

或者就此而言,可能会导致我们的主要数据中心,电力线,networking连接基础设施,域名劫持以及人类死亡的崛起等等的广泛传播灾难;)等等。

所以我的想法如下:在另一个国家的另一个提供商主机的第二个域名。 调用类似于主站点名称的域名。

为该站点提供一台服务器,并在该辅助提供程序中托pipeSQL db的服务器。 网站服务器的设置与网站完全一样,是主站点。

我的主SQL服务器每隔5分钟在辅助提供程序中对辅助服务器进行镜像(使用高性能镜像)。

假设由于某种原因,主要的网站是无法访问,由于一些大的和讨厌的继续。

将DNS更改为指向备份域,并在Twitter,Facebook等网站上发布,任何需要我的网站的人都可以使用www.backupdomain.com,直到dns更新通过networking传播。

这会工作,有没有更好的select来处理这样的问题?

我所做的大部分研究都指出要对集群,负载平衡,重复硬件,镜像等进行故障切换,我认识到这会使本地主机冗余,但是如何处理更广泛的传播中断。

预算也是有限的,所以我们不能花费数百万美元购买一个超级不败的谷歌永远不会死的系统。 但是,能够处理非常糟糕的中断,只需要30分钟到1小时的停机时间就是完美的。

提示,build议,链接都欢迎。

你所描述的选项并不是坏的 – 事实上它们是好的,而且你正在考虑这个事实说明了你的好处。

你当然可以实现你上面描述的内容,或者使用云提供商作为(比较便宜的)备份网站,如ksmbuild议在下面,但我会首先解决一些更基本的项目。

以下是我将要工作的粗略顺序:

  1. 确保您的托pipe服务提供商是体面的
    冗余电源,pipe道和冷却至less。

  2. 确保你的环境devise得很好。

  3. 确保您的环境具有冗余(关键任务,HA /故障切换的本地镜像)。
    如果你的提供者是好的,你的devise是好的,而且一切都是多余的,以处理至less一个组件故障,你已经照顾了你的最大部分的中断。 如果你的#2的devise很好,你也可能给自己做了并发维护的能力。

  4. 确保你有备份。 确保你可以恢复它们并取回一个工作系统。

  5. testing数字3和4( 像混沌猴子和模拟失败)

  6. 随着1-4的完成和坚实,现在考虑如何将这个复制到一个偏远的位置,以防万一meteor击中你的供应商的build筑物。
    如果2-4以上做得好,这个部分应该有明显的,相对容易的实现path。

  7. 用你在#6中实现的东西来testing你的失败。
    VMWare实验室在这里非常有帮助。

请注意,我没有深入细节 – 您的环境将决定您如何继续进行上述每个步骤。

为什么不在AWS上获得实例? 在E2C上获取一个实例,在那里托pipe你的应用程序,让他们担心正常运行时间。

要加倍肯定的是,在不同的地区你可以有两个实例(第二个可能是热备份):一个在美国DC,另一个在亚洲DC。