如何选择适合的服务器规避单点故障

岔开部署——规避单点故障

同厂商的虚拟主机/VPS,在少数机房的少数几台物理服务器上,购买多个小服务器规避单点故障的效果可能欠佳。除非在机房、厂商甚至星球/星系上进行部署,才能最大限度地规避单点故障。然而,即使这样做仍不能百分之百保证服务的可靠性。

SLA的重要性

一个服务器提供方若声称能够实现99.99%的SLA,这在地球上已经算是相当不错的了。一旦违反了SLA,就会提供给一些补偿方案。但实际情况是,即使你使用多台服务器来规避风险,当发生那0.01%的故障时,多数服务器可能都会受到影响。这种级别的宕机并非人为因素造成,单服与多服都会面临宕机的风险。

CDN Always Online

如果你担心单点故障的话,可以了解一下CDN Always Online,或许能导致一些冗然思绪。

经济性考量

如果你担心经济性,可以考虑拆分小服务器逐个部署单一站点。但是,每个服务器负载极低可能有些浪费。大服会是更好的选择吗?同样会面临类似问题,但你可以安慰自己至少“再加几站就跑上50%了,不亏”。

管理便利性

在像RunCloud这样的工具面前,多个服务器与单服务器的管理成本应该是可控的,但无论如何,单服的管理工作更轻松。如果超过5台服务器,你可能需要专门的DevOp帮助你,或者自己熟练掌握类似Chef/Puppet这样的工具。

买大还是买小?

在云计算中,根本目的在于购买一台足够使用的小服务器(+0.5倍冗余),足够使用就可以运行,需要扩展时再进行升级。好的厂商能够让你从512M内存的VPS(仅作比喻)持续升级到上万块一个月的Dedicated/Bare Metal(同样只是比喻)。留出适量冗余,一旦容量不够再进行升级。成功并不一定需要频繁的故障时间,关键是要有“弹性伸缩”的意识。