全部產品
Search
文件中心

ApsaraDB for MongoDB:MongoDB唯讀節點簡介

更新時間:Jun 19, 2024

為了擴充主從節點的讀請求能力,ApsaraDB for MongoDB提供具備獨立串連地址的唯讀節點,適合獨立系統直連訪問,以減輕大量讀請求給主從節點造成的壓力。

在有大量讀請求的應用情境下,資料庫的主從節點可能難以承受讀取壓力,甚至對業務造成影響。為了分擔主從節點的讀取壓力,您可以根據業務需求建立一個或多個唯讀節點,來滿足大量的資料讀取需求,增加應用的輸送量。

唯讀節點架構

唯讀節點結構圖

唯讀節點(ReadOnly)的特點如下:

  • 唯讀節點(ReadOnly)通過動作記錄(Oplog)從延遲最低的主節點(Primary)或從節點(Secondary)同步資料,應用於有大量讀請求的情境,以減輕主節點(Primary)和從節點(Secondary)的訪問壓力。

  • 唯讀節點(ReadOnly)具有獨立的串連地址,適合剖析器(如Analysis Server)直連訪問,與已有主從節點的串連互不干擾。

  • 兩個或以上唯讀節點(ReadOnly)可以使用ReadOnly ConnectionStringURI實現讀請求負載平衡。

唯讀節點與從節點的區別

節點

說明

適用情境

唯讀節點(ReadOnly)

  • 唯讀節點具有高可用保障,即某個唯讀節點故障時,系統會自動將其與隱藏節點切換,若未自動切換,您可以自行切換,唯讀節點的串連地址保持不變。

    說明

    如何切換隻讀節點和隱藏節點,請參見切換節點角色

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

  • 唯讀節點具有獨立的串連地址,適合獨立系統及應用直連訪問,與已有主從節點的串連互不干擾。

  • 唯讀節點不在“主節點的備用列表”中,不會被選舉為主節點,也不會參與投票選舉主節點。

兩個或以上唯讀節點可以使用ReadOnly ConnectionStringURI實現讀請求負載平衡,適用於從現有執行個體中讀取大量資料的業務情境,如BI分析、巨量資料分析等。

從節點(Secondary)

  • 從節點具有高可用保障,即某個從節點故障時,系統會自動將其與隱藏節點切換,若未自動切換,您可以自行切換,從節點的串連地址保持不變。

    說明

    如何切換從節點和隱藏節點,請參見切換節點角色

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

  • 從節點故障時,不會被選舉為主節點。

  • 主節點故障時,每個從節點都有可能被選舉為新的主節點,來執行和響應資料的讀寫請求。

主從節點可以使用ConnectionStringURI實現讀寫分離,適用於讀多寫少的並發情境,從而在效能擴充的同時,避免節點故障對業務帶來的影響。

功能優勢

  • 您可以根據業務需求隨時更改唯讀節點個數,節省業務成本。

  • 唯讀節點具有獨立的串連地址,適合獨立系統及應用直連訪問,與已有主從節點的串連互不干擾。

  • 唯讀節點與主從節點採用一致規格,自動從延遲最低的主節點或從節點同步資料,免去維護的煩惱。

  • 獨立的唯讀節點提供唯讀服務,不佔用主節點的資源。增減唯讀節點的操作,不會對主從節點的業務構成幹擾,也不會中斷主從節點的串連訪問。

  • ApsaraDB for MongoDB複本集執行個體提供統一的地址(ReadOnly ConnectionStringURI)串連所有隻讀節點,您只需添加唯讀節點的個數即可擴充資料庫的處理能力,應用程式無需做任何修改。

    說明

    關於ReadOnly ConnectionStringURI地址的更多資訊,請參見複本集執行個體串連說明

功能限制

  • 目前僅ApsaraDB for MongoDB複本集執行個體和分區叢集執行個體支援唯讀節點。

  • 唯讀節點僅供讀請求訪問,不參與主從節點選舉。

  • 一個複本集執行個體可以添加最多5個唯讀節點。

  • 一個分區叢集執行個體中的每個Shard可以添加最多5個唯讀節點。

  • 唯讀節點與主節點或從節點之間的資料複製方式為非同步複製,正常情況下存在毫秒級的延遲,在主節點寫入壓力大的時候可能出現秒級的延遲。

價格

單個唯讀節點的價格等同於複本集執行個體或者分區叢集執行個體Shard中單個節點的價格。