開通讀寫分離
讀寫分離是指通過一個讀寫分離的連接地址實現讀寫請求的自動轉發。通過RDS的讀寫分離連接地址,寫請求自動訪問主實例,應用直連即可實現自動讀寫分離。本文將介紹如何開通讀寫分離功能。
操作步驟
1、登錄管理控制臺。
2、單擊管理控制臺右上角區域選擇,選擇區域和項目。
3、在頁面左上角單擊
,選擇“數據庫 > 關系型數據庫MySQL”。進入云數據庫 RDS信息頁面。
4、在實例列表中,單擊目標實例的名稱,進入實例的“基本信息”頁面。
5、在左側導航欄中,單擊“數據庫代理”。
6、您還可以在實例的“基本信息”頁面,單擊“連接信息”模塊“讀寫分離地址”后的“申請”,跳轉到“數據庫代理”頁面。
7、在“數據庫代理”頁面單擊“創建數據庫代理”。
圖 開啟數據庫代理服務

- 讀寫分離具備連接保持、讀寫分離能力。開啟讀寫分離后,將新增1個讀寫分離連接地址,請將應用連接切換到新地址。
- 讀寫分離地址:通過讀寫分離地址連接數據庫,可實現讀寫分離功能。
- 該讀寫分離地址與實例的內網IP地址處于同一VPC和子網,且與實例的內網IP地址并存,互不影響。
- 延時閾值:對于成功開啟讀寫分離功能的實例,您可以設置其延時閾值。具體操作請參見設置延時閾值和讀寫分離權重。
- 讀權重分配:對于成功開啟讀寫分離功能的實例,您可以設置其主實例和只讀實例的權重。
設置延遲閾值和讀寫分離權重
開通讀寫分離功能后,并創建只讀實例后,您可以根據需要設置讀寫分離的延遲閾值和讀權重分配。
表 讀寫分離參數說明
| 參數 | 說明 |
|---|---|
| 延時閾值 | 只讀實例同步主實例數據時允許的最長延遲時間。延時閾值僅在存在只讀實例時生效。為避免只讀實例讀取的數據長時間和主實例不一致,當一個只讀實例的延遲時間超過設置的延遲閾值,則不論該只讀實例的讀權重是多少,讀請求都不會轉發至該只讀實例。讀寫分離功能成功開啟后,延時閾值默認為30s,閾值默認范圍為0~7200s,建議該閾值不小于30s,超出閾值的只讀實例不分配流量。 |
| 讀權重分配 | 讀寫分離功能成功開啟后,主實例的讀權重默認為0,可以修改;只讀實例可以設置讀權重。設置主實例和只讀實例的讀權重分配,僅在存在只讀實例時生效。實例的讀權重越高,處理的讀請求越多。例如,假設主實例有4個只讀實例,實例的讀權重分別為0、100、200、500、300,則表示主實例不處理讀請求(寫請求仍然自動發往主實例),四個只讀實例按照1:2:5:3的比例處理讀請求。開通讀寫分離功能后,系統將根據只讀實例的規格默認分配權重,后續新增只讀實例也將按照默認規則分配權重。 |
設置延遲閾值
1、登錄管理控制臺。
2、單擊管理控制臺右上角區域選項,選擇區域和項目。
3、在頁面左上角單擊
,選擇“數據庫 > 關系型數據庫MySQL”。進入云數據庫 RDS信息頁面。
4、在實例列表中,單擊只讀實例所在的主實例名稱,進入主實例的“基本信息”頁面。
5、在左側導航欄中,單擊“數據庫代理”, 在代理服務信息模塊“延時閾值”處單擊
,設置延遲閾值。
圖 設置延遲閾值

設置讀寫分離權重
1、登錄管理控制臺。
2、單擊管理控制臺右上角區域選項,選擇區域和項目。
3、在頁面左上角單擊
,選擇“數據庫 > 關系型數據庫MySQL”。進入云數據庫 RDS信息頁面。
4、在實例列表中,單擊只讀實例所在的主實例名稱,進入主實例的“基本信息”頁面。
5、在左側導航欄中,單擊“數據庫代理”,在“權重負載”右側單機“設置”,設置權重。
圖 設置讀寫分離權重

測試讀寫分離效果
通過讀寫分離地址連接數據庫,可實現讀寫分離功能。您可以使用內部SQL命令對讀寫分離效果進行驗證。
操作步驟
1、通過讀寫分離地址連接數據庫,具體請參考開通讀寫分離。
2、確定數據庫主實例地址和只讀實例的地址。
3、執行命令查看執行SQL命令的實例。
4、可以通過執行show last route查詢上一條語句的路由結果,結果顯示該讀操作采用的是只讀實例的地址,如下圖所示。
