摘要:業務應用對資料庫的數據請求分寫請求(增刪改)和讀請求(查)。當存在大量讀請求時,為避免讀請求阻塞寫請求,資料庫會提供只讀實例方案。通過主實例+N只讀實例的方式,實現讀寫分離,滿足大量的資料庫讀取需求,增加應用的吞吐量。 業務應用對資料庫的數據請求分寫請求(增刪改)和讀請求(查)。當存在大量讀請 ...
摘要:業務應用對資料庫的數據請求分寫請求(增刪改)和讀請求(查)。當存在大量讀請求時,為避免讀請求阻塞寫請求,資料庫會提供只讀實例方案。通過主實例+N只讀實例的方式,實現讀寫分離,滿足大量的資料庫讀取需求,增加應用的吞吐量。
業務應用對資料庫的數據請求分寫請求(增刪改)和讀請求(查)。當存在大量讀請求時,為避免讀請求阻塞寫請求,資料庫會提供只讀實例方案。通過主實例+N只讀實例的方式,實現讀寫分離,滿足大量的資料庫讀取需求,增加應用的吞吐量。
對於只讀實例,如果採用單機無備節點作備份的方案,當實例出現故障或有重建需求的時候,會出現較長時間的不可用,通常需要客戶做業務連接上的調整或是創建新只讀實例等繁瑣操作。單機只讀架構如下所示,一旦單機只讀發生故障,則業務中斷,直至故障修複實例複位。
![](https://pic2.zhimg.com/80/v2-a1f0d63ed1c727a1b1d1522038ba009d_720w.webp)
RDS for MySQL只讀節點穩定性解決方案
為了保證業務的連續性及穩定性,RDS for MySQL在原來單機只讀的基礎上,推出了“高可用只讀”。高可用只讀在故障的容錯能力、異常的應對能力方面具有比較大的優勢。相比較單機只讀動輒小時級的中斷,高可用只讀在故障倒換時,僅有秒級中斷。
高可用只讀架構圖如下,異常發生時(比如資料庫異常,虛擬機異常等),HA組件可將主只讀節點的VIP(虛擬IP)自動切換到備只讀節點上,從而快速恢復業務。
![](https://pic3.zhimg.com/80/v2-ea22e311c2d0e480d01a31ce7e38904e_720w.webp)
除高可用只讀方案外,多只讀實例Proxy輪詢的方案也有相同效果。即購買多個只讀實例,並開啟資料庫代理(proxy)的方案,在發生異常情況時,資料庫代理自動把流量切換到其他正常只讀實例,從而避免出現業務中斷發生。Proxy方案架構圖如下:
![](https://pic2.zhimg.com/80/v2-1bd322785bdc62f32af19594bd690799_720w.webp)
單機只讀、高可用只讀、多只讀+ proxy,在應用併發連接數、異常反應、成本方面的對比如下:
![](https://pic1.zhimg.com/80/v2-6cd31be430fd0e96e4f43317b816e924_720w.webp)
以上的多方案給用戶提供了靈活的可選擇性,用戶可以基於業務量、成本、業務運行效率等方面綜合評估選擇適合自己的方案。這篇文章中將重點介紹下高可用只讀,未來我們還會基於proxy做一期介紹,敬請期待。
高可用只讀使用辦法
高可用只讀在頁面上的展示
如圖所示,replica-86e2為單機只讀實例,replica-bb17及replica-b947為高可用只讀實例。需要註意的是,高可用只讀實例是一組(主、備)實例,其底層會自動實現故障機制響應。
![](https://pic3.zhimg.com/80/v2-742097a0acf3a0bc6e9f82ea24b1fdb6_720w.webp)
![](https://pic4.zhimg.com/80/v2-4f20a92484558b53177639416c6fb2eb_720w.webp)
如何購買高可用只讀
直接購買高可用只讀
1.登錄管理控制台。
2. 單擊管理控制台左上角的符號,選擇區域和項目。
3. 單擊頁面左上角的符號,選擇“資料庫 > 雲資料庫 RDS”。
![](https://pic1.zhimg.com/80/v2-ec9f46b687e578ddde0e44f871a93ce4_720w.webp)
4. 在“實例管理”頁面,選擇指定的實例,單擊操作列的“更多 > 創建只讀”,進入“創建只讀”頁面。
![](https://pic3.zhimg.com/80/v2-61046bfd2179160cae6aac8fd1b366e6_720w.webp)
也可在實例的“基本信息”頁面,單擊實例拓撲圖中,主實例下方的添加按鈕,創建只讀實例。
5. 在“創建只讀”頁面,只讀模式選擇“只讀(高可用)”,填選實例相關信息後,單擊“立即創建”。
![](https://pic4.zhimg.com/80/v2-85929dd4a34a23b6010e183777e5180f_720w.webp)
6. 在“規格確認”頁面,進行信息確認。如果需要重新選擇,單擊“上一步”,回到服務選型頁面修改基本信息。對於按需計費的實例,信息確認無誤後,單擊“提交”,下發新增只讀實例請求。對於包年/包月的實例,訂單確認無誤後,單擊“去支付”,進入“付款”頁面。
7. 高可用只讀實例創建成功後,可以對其進行查看和管理。
只讀實例轉換為高可用只讀
除了上述新建只讀實例時選擇高可用只讀模式,RDS for MySQL也支持已有的單機只讀升級為高可用只讀,操作簡單,無需進行老實例回收等操作。
說明:
非高可用只讀可以轉換為高可用只讀實例,但高可用只讀不允許轉換為非高可用只讀實例。
1. 登錄管理控制台。
2. 單擊控制台左上角的符號,選擇區域和項目。
3. 單擊頁面左上角的符號,選擇“資料庫 > 雲資料庫 RDS”,進入RDS信息頁面。
4. 在實例列表中,單擊實例名稱前的符號,單擊非高可用只讀實例的名稱,進入實例的基本信息頁面,即進入只讀實例的管理頁面。
![](https://pic4.zhimg.com/80/v2-ef59d66b07cd95db57c74aa9fb951cdf_720w.webp)
5. 在轉高可用頁面,確認信息無誤後,單擊“立即申請”,即可將普通只讀實例轉換為高可用只讀實例。
![](https://pic2.zhimg.com/80/v2-9acada838b68439b056549b977122f0d_720w.webp)
高可用只讀使用註意事項
- 高可用只讀支持的磁碟類型有:SSD雲盤、本地盤以及極速型SSD;支持的規格類型有:通用型、獨享型、鯤鵬通用增強型、x86通用型以及x86獨享型。
- 不建議修改高可用只讀實例的參數,否則會影響高可用只讀的可靠性。
- 高可用只讀不允許進行如下操作:修改埠、轉換到非高可用只讀實例。
- 創建高可用只讀或是變更到高可用只讀時,需要保證實例所在子網的IP充足。