本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
結論
我們在本文件中建立了 12 個高可用性規則。
-
規則 1 — 較少的故障頻率 (較長的 MTBF)、更短的故障偵測時間 (縮短 MTTD),以及更短的修復時間 (縮短 MTTR) 是用來改善分散式系統可用性的三個因素。
-
規則 2 — 工作負載中的軟體可用性是工作負載整體可用性的重要因素,而且應與其他元件相同。
-
規則 3 — 減少相依性可能會對可用性產生積極影響。
-
規則 4 — 一般而言,選取可用性目標等於或大於工作負載目標的相依性。
-
規則 5 — 使用備用來增加工作負載中相依性的可用性。
-
規則 6 — 備用的成本效率有一個上限。利用所需的最少備用裝置來達到所需的可用性。
-
規則 7 — 請勿依賴資料平面中的控制平面,尤其是在復原期間。
-
規則 8 — 鬆散耦合依賴關係,以便儘管依賴性受損,您的工作負載仍可以正確運行,盡可能。
-
規則 9 — 觀察性和儀器儀表對於減少 MTTD 和 MTTR 至關重要。
-
規則 10 — 專注於緩解影響,而不是解決問題。以最快的路徑回到正常操作。
-
規則 11 — 故障隔離可減少影響範圍,並透過降低整體故障率來增加工作負載的 MTBF。
-
規則 12 — 讓操作員輕鬆做正確的事情。
透過減少 MTTD 和 MTTR,以及增加 MTBF 來改善工作負載可用性。總之,我們討論了以下方法,以提高涵蓋技術、人員和流程的可用性。
-
MTTD
-
透過主動監控您的客戶體驗指標來減少 MTTD。
-
利用精細的運作狀態檢查,快速進行容錯移轉。
-
-
MTTR
-
監視影響範圍和作業健康狀態指標。
-
按照 1 /重新啟動、2/ 重新開機、3 /重新映像/重新部署和 4 /取代以減少 MTTR。
-
通過了解影響範圍繞失敗的路由。
-
透過虛擬機器或實體主機,利用重新啟動時間較快的服務,例如容器和無伺服器功能。
-
盡可能自動復原失敗的部署。
-
建立診斷操作和重新啟動程序的手冊和操作工具。
-
-
MTBF
-
通過嚴格的測試,在軟件發布到生產之前消除錯誤和缺陷。
-
實施混亂工程和故障注入。
-
利用相依性中的適當數量備用來容忍失敗。
-
透過故障容器將故障期間的影響範圍降至最低。
-
實作部署和變更的標準。
-
設計簡單、直觀、一致且記錄良好的操作員介面。
-
設定卓越營運目標。
-
當可用性是工作負載的關鍵維度時,有利於發行新功能的穩定性。
-
透過節流或負載脫落或兩者實作使用配額,以避免過載。
-
請記住,我們永遠不會完全成功地防止失敗。專注於具有最佳故障隔離的軟體設計,這些隔離會限制影響範圍和大小,最理想地將影響保持在「停機時間」閾值以下,並投資於非常快速、非常可靠的偵測和緩解措施。現代分散式系統仍然需要將故障視為不可避免的情況,並在各個層面進行設計,以實現高可用