全部產品
Search
文件中心

ApsaraDB for MongoDB:建立多可用性區域分區叢集執行個體

更新時間:Dec 18, 2024

為進一步滿足業務情境中高可靠性的需求,ApsaraDB for MongoDB為分區叢集執行個體提供了同城容災解決方案。該方案將分區叢集執行個體中的組件分別部署在同一地區下兩個或三個不同的可用性區域,通過內部網路實現節點間的資訊互連。

前提條件

  • 登入阿里雲帳號,註冊流程請參見註冊阿里雲帳號

  • 目前雙可用性區域部署功能尚在邀測階段,如有需求,請提交工單申請添加白名單。

注意事項

三可用性區域

如果應用部署在ECS執行個體,您需要確保ApsaraDB for MongoDB執行個體和ECS執行個體滿足以下條件,以保證網路的連通性。ECS執行個體資訊的查看方法請參見查看執行個體資訊

  • 所在地區相同。
  • 網路類型相同。
    說明
    • 同一可用性區域會減少網路延時,建議所在可用性區域相同。
    • 專用網路具有更高的安全性,建議使用專用網路。
    • 如果網路類型為專用網路,需確保使用相同的專用網路ID。
    • 如果您需要使用專用網路,但ECS執行個體的網路類型為傳統網路,您可以將ECS執行個體網路類型轉換為專用網路,具體請參見ECS執行個體從傳統網路遷移到專用網路

雙可用性區域

  • 如果應用部署在ECS執行個體,您需要確保ApsaraDB for MongoDB執行個體和ECS執行個體滿足以下條件,以保證網路的連通性。ECS執行個體資訊的查看方法請參見查看執行個體資訊

    • 所在地區相同。
    • 網路類型相同。
      說明
      • 同一可用性區域會減少網路延時,建議所在可用性區域相同。
      • 專用網路具有更高的安全性,建議使用專用網路。
      • 如果網路類型為專用網路,需確保使用相同的專用網路ID。
      • 如果您需要使用專用網路,但ECS執行個體的網路類型為傳統網路,您可以將ECS執行個體網路類型轉換為專用網路,具體請參見ECS執行個體從傳統網路遷移到專用網路
  • 如果MongoDB的寫安全設定為WriteConcer=majority,那麼寫操作需要被確認已經傳播到複本集中的大多數節點上時才會被認為寫入成功。因此,當部署兩個節點的可用性區域出現故障的容災情境下,可能會出現主節點到另一個可用性區域部署節點的同步延遲時間視窗內資料丟失的情況。

  • 雙可用性區域切換可選人工切換和自動切換兩種模式,您可以在控制台執行個體詳情頁根據業務需求進行設定。該選項預設為人工切換。

使用限制

  • 目前僅支援在部分地區部署雲端硬碟版多可用性區域分區叢集執行個體。支援的地區,請參見雲端硬碟版(三可用性區域)雲端硬碟版(雙可用性區域)

  • 本地碟版MongoDB執行個體僅支援選擇單可用性區域,但是可以通過配置可用性區域實現複本集執行個體的多可用性區域部署。實現多可用性區域部署,您需要選擇的可用性區域格式為:地區(可用性區域1+可用性區域2+可用性區域3),例如深圳可用性區域(C+D+E)。支援的地區,請參見本地碟版

節點部署策略

可用性區域

部署說明

單可用性區域

系統將分區叢集執行個體的Mongos、Shard和ConfigServer組件的所有節點部署在同一可用性區域。

雙可用性區域

系統將分區叢集執行個體的Mongos、Shard和ConfigServer組件的節點分別部署在兩個不同的可用性區域中。

  • Mongos組件:遵循所有機房均衡的原則。Mongos組件的節點至少為兩個,分別部署在兩個不同的可用性區域中,後續增加的節點平均部署在兩個可用性區域中。

  • Shard組件:每個Shard組件的主節點(Primary節點)、從節點(Secondary節點)與隱藏節點(Hidden節點)分別部署在兩個不同的可用性區域中,節點所在的可用性區域可能會隨著手動切換主備節點或觸發高可用系統而改變。

  • ConfigServer組件:每個ConfigServer組件的主節點(Primary節點)、從節點(Secondary節點)與隱藏節點(Hidden節點)分別部署在兩個不同的可用性區域中,節點所在的可用性區域可能會隨著手動切換主備節點或觸發高可用系統而改變。

當任一可用性區域因電源、網路等不可抗因素失去通訊時,系統會根據您設定的雙可用性區域切換方案進行處理,處理方法如下:

  • 人工切換:在可用性區域故障的情況下,高可用不會自動切換並啟動雙可用性區域執行個體來恢複可用性。可用性區域故障期間額外引入了人工確認的環節,您需要確認接受資料丟失後才進入自動切換。

  • 自動切換:在可用性區域故障的情況下,高可用會自動將剩下的節點以單節點形式啟動,恢複執行個體可用性。該過程中可能會出現同步延遲時間視窗內資料丟失的情況。

多可用性區域

系統將分區叢集執行個體的Mongos、Shard和ConfigServer組件的節點分別部署在三個不同的可用性區域中。

  • Mongos組件:遵循所有機房均衡的原則。Mongos組件的節點至少為兩個,分別部署在兩個不同的可用性區域中。當增加第三個節點時,預設部署在第三個可用性區域中,後續增加的節點依次部署在各可用性區域中。

  • Shard組件:每個Shard組件的主節點(Primary節點)、從節點(Secondary節點)與隱藏節點(Hidden節點)並非順序部署在三個可用性區域中,節點所在的可用性區域可能會隨著手動切換主備節點或觸發高可用系統而改變。

  • ConfigServer組件:每個ConfigServer組件的主節點(Primary節點)、從節點(Secondary節點)與隱藏節點(Hidden節點)分別部署在三個不同的可用性區域中。

當多個可用性區域中的任一可用性區域因電源、網路等不可抗因素失去通訊時,高可用系統將自動觸發切換操作,確保整個分區叢集架構的持續可用。

操作步驟

建立多可用性區域分區叢集執行個體的操作步驟,請參見建立分區叢集執行個體

更多資訊

您可以通過服務可用性功能,直觀地瞭解執行個體中的節點在可用性區域中的分布情況,您還可以根據業務的部署情況切換節點的角色,滿足應用就近串連的需求,詳情請參見切換節點角色