復原能力是系統回應失敗並仍然正常運作的能力。 這不是為了避免失敗,而是接受失敗並建構您的雲端原生服務來回應它。 您想要儘快回到正常運作的狀態。
與傳統整合型應用程式不同,所有專案都會在單一程式中一起執行,雲端原生系統採用分散式架構,如圖 6-1 所示:
圖 6-1。 分散式雲端原生環境
在上圖中,每個微服務和雲端式 支援服務 都會在不同的進程中執行,跨伺服器基礎結構,透過網路型呼叫進行通訊。
在此環境中運行時,服務必須敏感並應對多種不同的挑戰:
非預期的網路等待時間 - 服務要求前往接收者和返回的時間。
暫時性錯誤 - 短期網路連線錯誤。
長時間執行的同步作業封鎖。
已當機且正在重新啟動或移動的主機進程。
短時間內無法回應的負荷過重微服務。
運行中協調作業,例如滾動升級或將服務從一個節點移至另一個節點。
硬體失敗。
雲端平臺可以偵測並減輕其中許多基礎結構問題。 它可能會重新啟動、橫向擴展,甚至將您的服務重新分配至不同的節點。 不過,若要充分利用此內建保護,您必須設計服務以回應它,並在此動態環境中茁壯成長。
在下列各節中,我們將探索您的服務和受控雲端資源可以利用的防禦技術,將停機時間和中斷降到最低。