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