可靠性模式
可用性
可用性是以可用時間的比例衡量,並定義系統功能和工作時間比例。 系統錯誤、基礎結構問題、惡意攻擊和系統負載系統會影響可用性。 雲端應用程式一般會提供使用者服務等級協定 (SLA),亦即應用程式的設計和實作目的是讓可用性最大化。
模式 | 摘要 |
---|---|
部署戳記 | 部署多個獨立的應用程式元件複本,包括資料存放區。 |
Geodes | 將後端服務部署到一組地理節點,其中每個節點都可以為任何區域中的任何用戶端要求提供服務。 |
健康情況端點監視 | 實作應用程式中的功能檢查,而外部工具可透過公開的端點定期存取此應用程式。 |
佇列型負載調節 | 使用佇列作為工作和工作叫用服務間的緩衝區,即可平滑處理間歇重負載。 |
節流 | 使用應用程式執行個體、個別租用戶或整個服務,即可控制資源使用量。 |
若要降低惡意分散式阻斷服務 (DDoS) 攻擊的可用性風險,請實作原生 Azure DDoS 保護 服務或協力廠商功能。
高可用性
Azure 基礎結構是由地理、區域和可用性區域組成,可限制失敗衝擊的範圍,並限制客戶應用程式和資料的潛在影響。 Azure 可用性區域建構開發的目的是,提供軟體和網路解決方案,防止資料中心失敗,並提供客戶提升的高可用性 (HA)。 使用高可用性結構時,高復原、低延遲和成本間會處於平衡。
模式 | 摘要 |
---|---|
部署戳記 | 部署多個獨立的應用程式元件複本,包括資料存放區。 |
Geodes | 將後端服務部署到一組地理節點,其中每個節點都可以為任何區域中的任何用戶端要求提供服務。 |
健康情況端點監視 | 實作應用程式中的功能檢查,而外部工具可透過公開的端點定期存取此應用程式。 |
隔艙 | 將應用程式的元素隔離到集區中,以便其中一個元素失敗時,其他元素可以繼續運作。 |
斷路器 | 在連線到遠端服務或資源時,處理可能需要不同時間來修復的錯誤。 |
災害復原
復原是系統功能,可以正常處理與復原意外和惡意的失敗。
雲端裝載的本質,像是其中的應用程式通常是多租用戶、使用共用平台服務、爭用資源和頻寬、透過網際網路通訊及採用商用硬體,這表示發生暫時性和更多永久性錯誤的可能性會同時增加。 網際網路的連線本質與益發精細、大量的攻擊已增加安全性中斷的可能。
若要維持復原功能,即須偵測失敗並即時有效復原。
模式 | 摘要 |
---|---|
隔艙 | 將應用程式的元素隔離到集區中,以便其中一個元素失敗時,其他元素可以繼續運作。 |
斷路器 | 在連線到遠端服務或資源時,處理可能需要不同時間來修復的錯誤。 |
補償交易 | 復原由一系列步驟執行的工作,這些步驟共同定義最終一致的作業。 |
健康情況端點監視 | 實作應用程式中的功能檢查,而外部工具可透過公開的端點定期存取此應用程式。 |
選出領導者 | 選取一個執行個體作為領導者,負責管理其他執行個體,協調分散式應用程式中共同作業工作執行個體集合執行的動作。 |
佇列型負載調節 | 使用佇列來作為工作與其所叫用服務之間的緩衝區,以使間歇性的繁重負載順暢。 |
重試 | 讓應用程式可以在嘗試連線到服務或網路資源時,藉由明確地重試先前失敗的作業,處理預期的暫時性失敗。 |
排程器代理程式監督員 | 在一組分散式服務和其他遠端資源中協調一組動作。 |