全部產品
Search
文件中心

ApsaraDB RDS:設定最小保留執行個體數

更新時間:Mar 13, 2025

一般情況下,因主節點故障或過載導致唯讀節點複製異常時,通過代理訪問的整個叢集將不可讀不可寫,但叢集內的唯讀節點依然可提供讀服務。您可以在資料庫代理中設定最小保留執行個體數,在主節點故障或過載時保留指定數量的唯讀節點處理讀請求,提高執行個體在異常情況下的可用性。

功能簡介

通過設定最小保留執行個體數,叢集在異常情況下(如主節點異常宕機或唯讀節點複製中斷)可保留指定數量的唯讀節點處理讀請求。使用者佈建最小保留執行個體數後,資料庫代理內至少會有min{最小保留執行個體數,正常運行且權重非0的唯讀節點個數}個唯讀節點提供服務。

說明

唯讀節點正常運行指節點的運行狀態為運行中,對其複製狀態無要求。

使用情境

最小保留執行個體數主要用於以下兩種情境:

  • 主節點異常宕機導致唯讀節點複製中斷。

    可設定通過最小保留執行個體數,使Proxy 位址依然能提供讀能力。

  • 主節點寫入量大,導致唯讀節點的複寫延遲超過最大延遲閾值,從而影響負載平衡。

    當主節點寫入量大導致唯讀節點的複寫延遲超過最大延遲閾值時,所有讀流量將被轉寄至主節點,可能使其過載甚至掛起。若設定最小保留執行個體數,保留的唯讀節點將分擔讀流量,防止主節點因CPU負載過高而掛起。

節點保留原則

當可被路由的唯讀節點數量低於預設的最小保留執行個體數時,系統將按以下策略保留唯讀節點:

  1. 當前已被路由的唯讀節點依然保留,額外優先保留複寫延遲高於最大延遲閾值(未複製中斷)的節點,若此類節點不足,再保留複製中斷的節點,直到達到最小保留執行個體數。

  2. 在滿足上述優先順序的情況下,若節點複製狀態相同,則按節點讀權重排序,優先保留讀權重高的節點。

重要

設定最小保留執行個體數後,複寫延遲超過最大延遲閾值的節點也可被路由,但讀權重為0的節點不可被路由。

您可以通過下表中的樣本情境更直觀地理解節點保留原則:

  • 複製狀態不同時的節點保留樣本

    情境

    最小保留執行個體數

    最大延遲閾值

    RO1(複寫延遲)

    RO2(複寫延遲)

    RO3(複寫延遲)

    代理是否可讀

    可讀節點

    1

    1

    -1

    -1

    -1

    -1

    RO1

    2

    -1

    50

    60

    RO2

    3

    1

    30

    0

    40

    40

    RO1

    4

    40

    50

    60

    RO1

    5

    -1

    -1

    -1

    RO1

    6

    -1

    50

    60

    RO2

    7

    2

    30

    20

    60

    40

    RO1,RO2

    8

    20

    -1

    60

    RO1,RO3

    9

    20

    -1

    -1

    RO1,RO2

    說明

    複寫延遲為-1時表示節點複製中斷,0表示無複寫延遲,大於0表示有複寫延遲但未複製中斷,RO表示唯讀節點。

  • 複製狀態相同(讀權重不同)時的節點保留樣本

    情境

    最小保留執行個體數

    RO1(節點權重)

    RO2(節點權重)

    RO3(節點權重)

    是否可讀

    可讀節點

    10

    2

    0

    20

    0

    RO2

    11

    0

    0

    0

    12

    0

    20

    20

    RO2,RO3

    說明

    讀權重為0時表示節點不參與路由,大於0表示節點正常參與路由。

前提條件

已開通資料庫代理,且代理的核心版本不低於2.9.5。具體操作,請參見開通資料庫代理

注意事項

  • 設定了最小保留執行個體數後,流量可能會路由至超過最大延遲閾值的唯讀節點。

  • 最小保留執行個體數對於讀寫入模式和唯讀模式都適用。

操作步驟

  1. 訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。

  2. 在左側導覽列,單擊資料庫代理

  3. 串連資訊地區,在目標代理串連地址的操作列,單擊修改配置

  4. 在彈出的對話方塊中,填寫最小保留執行個體數,並單擊確定

相關API

API

描述

DescribeDBProxy - 查詢資料庫代理詳情

查詢RDS執行個體資料庫代理詳細資料。

DescribeDBProxyEndpoint - 查詢資料庫代理的串連地址資訊

查詢RDS執行個體資料庫代理的串連地址資訊。

ModifyDBProxyEndpoint - 設定資料庫代理串連地址存取原則

修改RDS執行個體資料庫代理串連地址存取原則。