確保高可用性並支援跨區域複製,對於使用 Azure DocumentDB 進行關鍵任務應用至關重要。 本檔概述設定和管理 高可用性 (HA) 和 跨區域複寫的最佳做法。 請依照本文件中的指引,在 Azure DocumentDB 中達成最佳效能、韌性及災難復原能力。
高可用性 (HA) 最佳做法
將 HA 用於生產叢集
啟用高可用性 (HA) 對於生產叢集和任何對停機時間敏感的叢集而言非常重要。 在生產環境中,非預期的節點失敗可能會導致重大中斷。 HA 可確保即使其中一個實體分區(節點)變成無法使用,您的叢集仍保持可用且運作,且不會遺失任何數據。
使用高可用性達到 99.99% SLA
Azure DocumentDB 為啟用高可用性的叢集提供 99.99% 的每月可用性 SLA 。 若要符合此 SLA,請確定已針對需要持續運作時間的所有重要工作負載啟用 HA。
啟用高可用性以進行自動容錯移轉
啟用高可用性的叢集會自動從實體分區失敗復原,而不需要手動介入。 當節點失敗時,系統會升級待命實體分區,以取代失敗的主要節點。 自動故障轉移程式會保留相同的 連接字串,讓故障轉移程式對應用程式順暢且透明。 這項功能對於需要持續運作時間和一致數據存取的應用程式而言非常重要。
停用非生產叢集的高可用性
針對非生產用叢集或不敏感停機時間的叢集,可以停用高可用性以降低成本。 這些環境可能會容許偶爾停機,而不會影響商務作業。 請先仔細評估風險和成本取捨,再停用任何叢集上的高可用性。
搭配可用性區域使用高可用性
在支援可用性區域的地區中,啟用 HA 可確保每個主副物理分片配對配置在不同的可用性區域中。 區域備援可藉由保護您的叢集免於區域內數據中心層級失敗,以提供額外的復原能力。
跨區域複製最佳做法
使用跨區域複製進行災難應變
當叢集數據復本需要儲存在另一個 Azure 區域中,以便進行災害復原時,請使用跨區域複寫。 跨區域複寫可確保您的數據即使在發生區域性中斷時也能使用。 Azure DocumentDB 支援主動被動複寫配置,以促進跨區域災難復原。 主動-被動復寫會將一個叢集保留為讀寫模式中的主要叢集,並在另一個 Azure 區域中維護只讀複本叢集。
如果發生罕見的區域中斷,可以升級複本叢集以成為新的讀寫叢集,且中斷最少。 這項功能可確保您的數據保持安全且可存取,即使整個區域發生中斷也一樣。
設定複寫,對效能的影響最小
設定跨區域複寫時,請考慮對應用程式的網路等待時間和寫入延遲影響。 針對地理位置接近使用者的主要讀寫和復本叢集選擇區域,並確定您的應用程式已針對最終一致性進行優化。
讀取調整
使用跨區域複寫,將大量讀取作業從主要叢集卸除至複本叢集。 將讀取操作卸除至複本叢集可防止主要叢集過載,並確保系統可以有效率地處理高讀取量。
結合HA和DR策略
將高可用性 (HA) 與災害復原 (DR) 的跨區域複寫和全域讀取可擴縮性結合在一起。 兩者的組合提供99.995% SLA。 此方法提供本機復原與全域備援之間的最佳平衡,確保應用程式的持續可用性和最佳效能。
最佳做法摘要
| Scenario | Recommendation |
|---|---|
| 生產叢集 | 啟用高可用性 |
| 需要 99.99% SLA 的叢集 | 啟用高可用性 |
| 需要99.995% SLA 的叢集 | 啟用高可用性 並 建立複本叢集 |
| 非生產叢集 | 停用高可用性功能 來降低成本 |
| 自動容錯移轉需求 | 啟用高可用性 |
| 跨區域災害復原 (DR) | 建立複本叢集 |
| 讀取多個區域的可擴縮性 | 建立複本叢集 |
遵循這些最佳實務,您可以確保 Azure DocumentDB 叢集保持高度可用性,並能抵禦故障與區域性故障。