全部產品
Search
文件中心

ApsaraDB RDS:【新功能/規格】RDS MySQL資料庫代理支援設定最小保留執行個體數

更新時間:Dec 18, 2024

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

上線時間

2024年11月26日

功能簡介

通過設定最小保留執行個體數,叢集在異常情況下(如主節點異常宕機或唯讀節點複製中斷)可保留指定數量的唯讀節點處理讀請求。使用者佈建最小保留執行個體數後,資料庫代理內至少會有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表示節點正常參與路由。

如何使用

開通資料庫代理,設定資料庫代理配置,填寫最小保留執行個體數。詳情請參見設定最小保留執行個體數

相關文檔

什麼是資料庫代理