- MySQL高可用解決方案:從主從復制到InnoDB Cluster架構
- 徐軼韜
- 690字
- 2023-11-23 18:57:03
1.1.1 可靠性
可靠性是系統實現高可用的目標之一,讀者在了解什么是高可用之前,需要理解可靠性的概念。可靠性是指在一定時間內、一定條件下,使系統無故障地執行指定的功能,并使系統盡可能具有可訪問性。可靠性是用戶期望系統正常運行的程度,當用戶需要系統工作時,系統能夠正常工作,說明它的可靠性高;反之,用戶需要系統工作時,系統無法正常工作,說明它的可靠性低。系統的可靠性越高、運行時間越長,表明系統具有越高級別的可用性。
可靠性可以通過多種方式來實現,因此,系統會產生不同級別的可靠性。以數據庫為例,用戶可以通過不同的技術和工具來提高可靠性,使數據庫系統盡可能保持正常運行,并盡可能長時間提供數據,即盡可能延長正常運行時間。正常運行時間通常表示為系統運行時間的比率或百分比。
通常情況下,用戶可通過以下三個原則來實現可靠性。
● 消除單點故障:盡可能減少使用的組件,如果單一組件發生故障,那么系統將無法繼續使用。
● 增加恢復能力:建立多個主動冗余機制,通過冗余組件將系統從故障中快速恢復。
● 容錯:增加主動故障檢測,通過切換到冗余組件的機制進行自動恢復。
遵循以上三個原則,系統可以實現更高級別的可靠性,從而達到高可用。即使無須達到最大的高可用,通過實現這些原則,也可以使系統變得更加可靠。
實際上,可靠性用以度量系統在一段時間內的可操作性。高可用的定義為系統能夠持續可操作,實際上它也是可靠性的級別。高可用性通常使用幾個9的百分比來表示,5個9表示每年有99.999%的正常運行時間,每年的停機時間約為5.26分鐘。99.99%的每年停機時間為52.6分鐘,99.9%的每年停機時間為8.77小時。因此,當用戶考慮系統的高可用時,需要重點考慮如何提高可靠性。