RDS SQL Server提供管理唯讀執行個體的能力,並提供了一個唯讀地址,您可以在應用程式中配置主執行個體地址和唯讀地址,以此實現讀寫分離。該功能將有效提高系統的效能、可擴充性和讀取操作的負載平衡,為應用程式提供更高效的讀寫分離服務。
讀寫分離簡介
RDS SQL Server唯讀執行個體建立後開通讀寫分離(唯讀地址),並在應用程式中配置主執行個體地址和唯讀地址,可以實現寫請求轉寄到主執行個體,讀請求轉寄到唯讀地址,唯讀地址會根據權重將讀請求自動轉寄給各個唯讀執行個體。
讀寫分離優勢
統一隻讀地址,方便維護。
通過串連唯讀地址,即可方便地對唯讀執行個體進行讀操作,降低了維護成本。同時,應用程式無需進行任何修改,只需添加唯讀執行個體的個數,即可不斷擴充系統的處理能力。
可自訂設權重,符合多情境使用。
您可以自訂設定唯讀執行個體的讀請求權重,以適應不同的情境需求。
執行個體健全狀態檢查,提升資料庫系統的可用性。
讀寫分離模組會自動對唯讀執行個體進行健全狀態檢查,當發現某個執行個體發生宕機或延遲超過閾值時,系統將不再向該執行個體分配讀請求,而是在剩餘的健康執行個體間進行分配,以此確保單個唯讀執行個體發生故障時,不會影響應用的正常訪問。當執行個體被修複後,RDS會自動將該執行個體納回請求分配體系內。
說明為避免單點故障,建議您為一個主執行個體建立至少兩個唯讀執行個體。
唯讀地址和內外網地址說明
唯讀地址是一個額外的地址,配置在應用程式中可以實現讀寫分離。當用戶端的讀請求到達唯讀地址時,請求會根據執行個體的權重自動分配給備節點和所有配置的唯讀執行個體進行處理。
如果應用程式中只配置了主執行個體的內網或外網地址,那麼請求只會被發送給主執行個體,而不會被分配給唯讀執行個體進行處理。
前提條件
已建立唯讀執行個體,請參見建立SQL Server唯讀執行個體。
注意事項
開通唯讀地址後產生的唯讀地址是固定的(唯讀地址暫不支援手動修改),不會因為多次關閉或開啟唯讀地址而變化,因此您不用多次更改應用程式,降低維護成本。
開通及使用唯讀地址是免費的,當前僅收取唯讀執行個體的費用。
唯讀地址暫不支援傳統網路。
開通讀寫分離
開通讀寫分離串連,並配置唯讀地址的權重比,系統將根據已配置的權重比例處理讀請求。
訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。
單擊左側導覽列中的叢集管理,然後單擊右側的立即開啟。
在彈出的對話方塊中,設定唯讀地址類型和各節點(主節點、備節點、唯讀執行個體)的權重分配。
主節點和備節點為叢集系列執行個體本身架構,唯讀執行個體為您手動所建立。更多詳情,請參見叢集系列架構。
參數
說明
地址類型
內網(專用網路):僅用於同VPC下的執行個體(ECS等阿里雲執行個體)內網訪問。
外網地址:業務部署在其他VPC或本地機器上,需要通過外網地址訪問執行個體,但您需提前手動申請外網地址。具體操作,請參見開通或關閉外網地址。
說明由於外網網路易波動,建議在業務中使用內網地址進行串連。更多詳情,請參見內網地址和外網地址的區別。
權重分配
參與權重分配的角色包括主節點、備節點和唯讀執行個體(存在時顯示),讀權重越高,處理的讀請求越多。例如,若主執行個體有3個唯讀執行個體,讀權重分別為100、200和200,則3個唯讀執行個體將按照1:2:2的比例處理讀請求。
系統配置:系統根據執行個體規格自動分配唯讀執行個體的讀權重。
後續該主執行個體下新增的唯讀執行個體也會自動化佈建權重,無需手動設定。更多詳情,請參見系統權重分配規則。
自訂:手動設定各節點的讀權重,範圍為0~10000。
後續該主執行個體下新增唯讀執行個體的讀權重預設為0,需要您手動修改。
重要如果叢集中的唯讀執行個體釋放了,系統會自動移除該唯讀執行個體的權重分配。
單擊確定。
查看叢集資訊
您可以訪問目標執行個體的叢集管理頁面,查看叢集基本資料和配置列表。
查看叢集基本資料
叢集基本資料包含唯讀地址、網路連接埠、地址類型、權重分配模式、參與執行個體個數等。
查看叢集配置列表
執行個體列表展示了叢集內所有執行個體及其對應的運行狀態、角色和讀權重等,您可以在此查看與管理叢集內各角色執行個體。
相關操作
業務壓力過大時,您可按需重新修改唯讀地址的讀權重分配比例,唯讀地址會根據修改後的權重將讀請求自動轉寄給備節點和所有配置的唯讀執行個體。具體操作,請參見修改讀權重分配。
如果您不再需要讀寫分離功能,可以將其關閉。具體操作,請參見關閉讀寫分離(唯讀地址)。