如何選擇適合的伺服器規避單點故障
岔開部署——規避單點故障
同廠商的虛擬主機/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(同樣只是比喻)。留出適量冗餘,一旦容量不夠再進行升級。成功並不一定需要頻繁的故障時間,關鍵是要有“彈性伸縮”的意識。