全部產品
Search
文件中心

ApsaraDB for MongoDB:複本集架構

更新時間:Jun 19, 2024

ApsaraDB for MongoDB自動搭建好複本集,您可以直接操作複本集中的主節點和從節點。容災切換、故障遷移等進階功能為您整體打包好,執行個體使用過程中對您完全透明。

複本集架構

架構圖
MongoDB複本集架構通過部署多種節點來達到高可用和讀寫分離的效果,每個複本集執行個體包含一個主節點(Primary節點)、一個或多個從節點(Secondary節點)、一個隱藏節點(Hidden節點)和可選的一個或多個唯讀節點(ReadOnly節點)。其中主節點、從節點和隱藏節點合起來統稱為“主備節點”。各節點的說明如下:
節點功能說明
主節點(Primary節點)負責執行和響應資料讀寫請求。每個複本集執行個體中只能有一個主節點。
從節點(Secondary節點)通過動作記錄(oplog)同步主節點的資料,可在主節點故障時通過選舉成為新的主節點,保障高可用。
  • 通過從節點的串連地址進行串連時,只能讀取資料不能寫入資料。
  • 從節點具有高可用保障,即某個從節點故障時,系統會自動將其與隱藏節點切換,若未自動切換,您可以自行切換,從節點的串連地址保持不變。
    說明 如何切換從節點和隱藏節點,請參見切換節點角色

    觸發節點的角色切換後,會產生1次30秒內的串連閃斷,建議您在業務低峰期操作或確保應用具備重連機制。

隱藏節點(Hidden節點)通過動作記錄(oplog)同步主節點的資料,可在從節點故障時接替該故障節點成為新的從節點,也可在唯讀節點故障時接替該故障節點成為新的唯讀節點,保障高可用。
  • 隱藏節點僅用作高可用,對用戶端不可見。
  • 隱藏節點不在“主節點的備用列表”中,不會被選舉為主節點,但會參與投票選舉主節點。
  • 每個複本集執行個體中只能有一個隱藏節點。
唯讀節點(ReadOnly節點)通過動作記錄(oplog)從延遲最低的主節點或從節點同步資料,應用於有大量讀請求的情境,以減輕主節點和從節點的訪問壓力。兩個或以上唯讀節點可以使用ReadOnly Connection String URI串連實現讀請求負載平衡。
說明 更多資訊,請參見MongoDB唯讀節點簡介
  • 唯讀節點具有高可用保障,即某個唯讀節點故障時,系統會自動將其與隱藏節點切換,若未自動切換,您可以自行切換,唯讀節點的串連地址保持不變。
    說明 如何切換隻讀節點和隱藏節點,請參見切換節點角色

    觸發節點的角色切換後,會產生1次30秒內的串連閃斷,建議您在業務低峰期操作或確保應用具備重連機制。

  • 唯讀節點具有獨立的串連地址,適合獨立系統直連訪問,與已有主從節點的串連互不干擾。
  • 唯讀節點不在“主節點的備用列表”中,不會被選舉為主節點,也不會參與投票選舉主節點。

擴充複本集節點

ApsaraDB for MongoDB提供擴充節點功能,您可以按照業務需求增加從節點或唯讀節點的數量,詳情請參見變更複本集執行個體配置
說明 每個複本集執行個體中僅包含一個隱藏節點,擴充節點時僅增加從節點或唯讀節點,不會增加隱藏節點。

例如:某個業務情境下對資料庫有更高讀取效能需求,如閱讀類網站、訂單查詢系統等讀多寫少情境或有臨時活動等突發業務需求,按需增加從節點或唯讀節點來彈性調整執行個體的讀取效能。