標題裡面的三個術語,很容易混淆,專業人員有時也會用錯。
本文就用圖片解釋它們有何區別。
容錯
容錯(fault tolerance)指的是, 發生故障時,系統還能繼續執行。
飛機有四個引擎,如果一個引擎壞了,剩下三個引擎,還能繼續飛,這就是"容錯"。同樣的,汽車的一個輪子扎破了,剩下三個輪子,也還是勉強能行駛。
容錯的目的是,發生故障時,系統的執行水平可能有所下降,但是依然可用,不會完全失敗。
高可用
高可用(high availability)指的是, 系統能夠比正常時間更久地保持一定的執行水平。
汽車的備胎就是一個高可用的例子。如果沒有備胎,輪胎壞了,車就開不久了。備胎延長了汽車行駛的可用時間。
注意,高可用不是指系統不中斷(那是容錯能力),而是指一旦中斷能夠快速恢復,即中斷必須是短暫的。如果需要很長時間才能恢復可用性,就不叫高可用了。上面例子中,更換備胎就必須停車,但只要裝上去,就能回到行駛狀態。
災備
災備(又稱災難恢復,disaster recovery)指的是, 發生災難時恢復業務的能力。
上圖中,飛機是你的 IT 基礎設施,飛行員是你的業務,飛行員彈射裝置就是災備措施。一旦飛機即將墜毀,你的基礎設施就要沒了,災備可以讓你的業務倖存下來。
災備的目的就是,儲存系統的核心部分。一個好的災備方案,就是從失敗的基礎設施中獲取企業最寶貴的資料,然後在新的基礎設施上恢復它們。注意,災備不是為了挽救基礎設定,而是為了挽救業務。
總結
上面三個方面可以結合起來,設計一個可靠的系統。
- 容錯:發生故障時,如何讓系統繼續執行。
- 高可用:系統中斷時,如何儘快恢復。
- 災備:系統毀滅時,如何搶救資料。
參考文獻
(完)