為了將數據庫代理應用于讀寫分離、高并發讀等場景中,您可以為數據庫代理連接地址配置不同的訪問策略,不同的業務使用具有對應訪問策略的連接地址訪問RDS PostgreSQL實例,滿足您的業務需求。
關于RDS數據庫代理的使用問題和更多相關信息,歡迎加入用戶釘釘群(106730000316)進行咨詢、反饋和交流 。
前提條件
已開通數據庫代理服務,具體請參見開通數據庫代理。
注意事項
請確保已創建只讀實例。沒有只讀時,可以開啟數據庫代理功能,但無法配置代理連接地址訪問策略。創建方法,請參見創建PostgreSQL只讀實例。
操作步驟
訪問RDS實例列表,在上方選擇地域,然后單擊目標實例ID。
在左側導航欄單擊數據庫代理。
在連接信息區域,找到目標代理連接地址(終端)ID,單擊目標代理連接地址右側操作列的修改配置。
在彈出的對話框內,根據業務需要修改代理連接地址的相關配置。
參數
說明
連接描述
自定義代理連接地址的描述,最多支持30個字符。
讀寫屬性
設置當前代理連接地址的讀寫屬性。
讀寫(讀寫分離)(默認):同時連接主實例和只讀實例,可以接收寫請求。
只讀(不連接主實例,無法接收寫請求):僅連接只讀實例,不接收寫請求。
說明修改讀寫屬性后,只對新建連接生效,已有的連接依舊保持原來的模式,更多信息,請參見什么是讀寫分離、設置讀寫屬性和讀權重。
您需要已經創建PostgreSQL只讀實例,才可以設置讀寫屬性,使用讀寫分離功能。
延遲閾值
設置只讀實例同步主實例數據時允許的最長延遲時間,取值范圍為0秒到3600秒。
受限于SQL的執行情況,只讀實例有一定的幾率會出現延遲,建議該值不小于30秒。
說明僅在讀寫屬性為讀寫(讀寫分離)時可選。
若一個只讀實例的延遲時間超過該閾值,則不論該只讀實例的權重是多少,讀請求都不會轉發至該只讀實例。
事務拆分
事務拆分功能,固定為開啟。事務拆分能夠將事務內寫操作之前的讀請求轉發到只讀實例,降低主實例負載。
說明該功能暫不支持關閉。更多信息,請參見事務拆分。
讀權重分配
設置數據庫各個實例的讀請求權重:
系統分配:系統根據實例規格自動分配各個實例的讀權重。后續該主實例下新增的只讀實例也會自動按照系統分配的權重加入到讀寫分離鏈路中,無需手動設置。更多信息,請參見系統默認讀權重分配規則。
自定義:手動設置各個實例的讀權重,范圍為0~10000。后續該主實例下新增只讀實例的讀權重默認為0,需要您手動修改。
說明實例的讀權重越高,處理的讀請求越多。例如,假設主實例有3個只讀實例,主實例讀權重為0,只讀實例讀權重分別為100、200和200,則表示主實例不處理讀請求(寫請求仍然自動發往主實例),3個只讀實例按照
1:2:2
的比例處理讀請求。修改本參數實時生效,不會造成業務閃斷。修改完成后,已存在的連接不會斷開重連且讀權重不變,只有新連接才會根據新權重進行分配。
只讀實例釋放后將自動移除權重。
實例宕機或者延遲超時將自動移除權重,實例恢復后權重也將自動恢復。
您可以在讀請求的SQL中加入
/*FORCE_MASTER*/
,指定該請求被轉發到主實例。如果需要轉發到只讀實例,則使用/*FORCE_SLAVE*/
。示例:
/*FORCE_MASTER*/ SELECT * FROM table_name;
單擊確定。
相關文檔
相關API
API | 描述 |
查詢數據庫代理詳情。 | |
查詢數據庫代理的連接地址信息。 | |
修改數據庫代理的連接地址訪問策略。 |