讀寫分離是指通過一個讀寫分離地址實現讀寫請求的自動轉寄。通過RDS的讀寫分離地址,可以使寫請求自動轉寄到主執行個體,讀請求按照設定的權重自動轉寄到各個唯讀執行個體。本文將介紹如何開通讀寫分離功能。

前提條件

  • 執行個體是主執行個體(不是唯讀執行個體或災備執行個體)。
  • 執行個體為MySQL 5.6高可用版或金融版,或MySQL 5.7高可用版。
  • 地區為:華東1、華東2、華北1、華北2、華北3、華北5、華南1、香港、美西、美東、亞太地區東南1(新加坡)、亞太地區東南2(雪梨)
  • 執行個體下有至少一個唯讀執行個體。關於如何建立唯讀執行個體,請參見建立唯讀執行個體
  • 執行個體下的唯讀執行個體沒有設定唯讀執行個體延時複製時間。
  • 執行個體已開啟資料庫代理。關於如何開啟資料庫代理,請參見資料庫代理簡介

注意事項

  • 當您第一次開通讀寫分離功能時,為保證服務的正常使用,系統會自動將開通該功能的主執行個體及其所關聯的所有隻讀執行個體都升級到後端管控系統的最新版本。所以,在開通過程中,主執行個體和唯讀執行個體會有1次自動重啟。重啟過程中,主執行個體會有1次30秒內的閃斷,而唯讀執行個體在整個重啟過程中都無法訪問。建議在業務低峰期開通讀寫分離功能,並確保您的應用有自動重連機制,以避免閃斷影響。
  • 若您在2017年3月8日後,對要開通讀寫分離功能的主執行個體和唯讀執行個體都自行做過至少1次的重啟或者規格變更操作,則這些執行個體的後端管控系統已經自動升級到最新版本,開通讀寫分離功能時,系統不會再對執行個體進行重啟。

操作步驟

  1. 登入RDS管理主控台
  2. 在頁面左上方,選擇執行個體所在地區。
  3. 找到目標執行個體,單擊執行個體ID。
  4. 在左側導覽列中,選擇資料庫連接資料庫代理
  5. 選擇讀寫分離標籤頁,單擊立即開啟
    说明
    • 如果沒有顯示立即開啟,請先開啟資料庫代理以及建立至少一個唯讀執行個體。
    • 若執行個體是在2017年3月8日前建立的,且在3月8日後沒有進行過重啟或規格變更操作,開啟讀寫分離功能將會對主執行個體和唯讀執行個體進行一次重啟。在系統彈出的提示框中,單擊確定以開啟讀寫分離。
  6. 填寫設定資訊,如下圖所示。

    參數 說明
    地址類型 讀寫分離地址的類型。
    • 內網地址
      • 若主執行個體的內網類型是VPC,則讀寫分離地址的內網類型也是VPC。
      • 若主執行個體的內網類型是傳統網路,則讀寫分離地址的內網類型也是傳統網路。
    • 外網地址
    延遲閾值 唯讀執行個體同步主執行個體資料時允許的最長延遲時間。若一個唯讀執行個體的延遲時間超過該閾值,則不論該唯讀執行個體的權重是多少,讀請求都不會轉寄至該唯讀執行個體。

    取值範圍為0秒到7200秒。受限於SQL的執行情況,唯讀執行個體有一定的幾率會出現延遲,建議該值不小於30秒。

    讀權重分配 執行個體的讀權重越高,處理的讀請求越多。例如,假設主執行個體有3個唯讀執行個體,讀權重分別為0、100、200和200,則表示主執行個體不處理讀請求(寫請求仍然自動發往主執行個體),3個唯讀執行個體按照1:2:2的比例處理讀請求。
    • 系統分配:系統根據執行個體規格自動分配各個執行個體的讀權重。後續該主執行個體下新增的唯讀執行個體也會自動按照系統分配的權重加入到讀寫分離鏈路中,無需手動設定。更多資訊請參見系統權重分配規則
    • 自訂:手動設定各個執行個體的讀權重,範圍為0至10000。後續該主執行個體下新增唯讀執行個體的讀權重預設為0,需要您手動修改。
    说明 不支援為已經設定唯讀執行個體延時複製時間的執行個體設定權重。
  7. 單擊確定

    執行個體會進入建立網路連接中的狀態,請您耐心等待一段時間,等執行個體變成運行中的狀態後,再進入讀寫分離頁面。