為避免共享代理的穩定性、可擴展性和性能問題,阿里云RDS MySQL推出獨享型代理功能,已開啟共享代理的實例可以升級為獨享型代理。
2021年04月01日起,RDS MySQL共享代理功能將停止更新維護,僅提供產品服務技術支持,建議您盡快升級到獨享型代理。詳細通知,請參見【通知】2021年04月01日起共享代理功能停止更新維護。
共享代理暫不支持直接升級至通用型代理,您可以先升級至獨享型代理后,再變更代理類型至通用型代理。更多信息,請參見變更代理類型和代理數量、通用型代理和獨享型代理。
升級特惠
現在升級獨享型代理,可在一定期限內免費使用獨享型代理(額外新增代理個數需要收費)。不同付費類型的主實例優惠內容如下:
按量付費:自升級日起,免費使用獨享型代理一年。
包年包月:自升級日起,免費使用獨享型代理至少一年,取決于主實例的到期時間。
主實例到期時間距離升級日大于一年,則您可免費使用獨享型代理直到實例到期。
說明如果您通過續費延長了主實例到期時間,仍然以續費前的主實例到期時間為準。
主實例到期時間距離升級日小于一年,則您可免費使用獨享型代理一年。
注意事項
優惠期限內調整獨享型代理數量,只有超過默認數量的獨享型代理才需要額外付費。例如系統默認創建6個獨享型代理,無論您如何調整,只要代理數量不超過6個就無需額外付費。但如果您一共創建了7個獨享型代理,則需要為多出的1個獨享型代理單獨付費。
優惠期限內關閉獨享型代理則優惠即時結束,再次開啟需要正常付費。
前提條件
費用
升級為獨享型代理時,系統會根據RDS實例(主實例及其只讀實例)總規格,計算出獨享型代理個數,按小時付費。具體價格請參見數據庫獨享型代理費用說明。
背景信息
RDS MySQL的讀寫分離功能基于代理實現。部分存量MySQL 5.6、5.7實例的讀寫分離功能基于共享代理實現,存在穩定性風險,建議升級為獨享型代理。相比共享代理,獨享型代理有以下優勢:
穩定性和隔離性更好。
性能更高。例如在數據庫不是瓶頸時,使用SysBench在OLTP場景測試,一個獨享型代理能夠提供20,000 QPS。
獨享型代理數量可擴展,方便擴容業務。
獨享型代理的性能可監控,您可以根據監控及業務規劃調整相應的獨享型代理個數,實時生效。
提供獨享型代理連接地址,應用使用該地址后不用反復變更應用內的地址,減少維護成本,只要不釋放代理,代理連接地址可以永遠使用。例如您在大促時期開啟讀寫分離,大促結束后釋放只讀實例,關閉讀寫分離,也不用變更應用內的連接地址。
基于獨享型代理連接地址可以實現讀寫分離、短連接優化、事務拆分等功能。
獨享型代理的詳情請參見什么是數據庫代理。
下文將介紹如何將存量的共享代理升級為獨享型代理。
注意事項
獨享型代理的連接模型是1:N(即您的一個連接會后端連接到主實例和所有只讀實例),建議開通獨享型代理后,主實例和只讀實例的連接數規格盡量一致,否則業務的連接數會受限于最小規格的實例連接數限制。
切換到獨享型代理后,新增只讀實例或只讀實例重啟,只有新的連接的請求才會路由到新的只讀實例或重啟的只讀實例,老的連接請求不會路由過去。
主實例與只讀實例的參數max_prepared_stmt_count需要保持一致。
數據庫代理升級前后的連接地址均不會發生改變,但會造成虛擬IP(VIP)的變更,請盡量保證在您的應用程序中使用連接地址進行連接,而不使用IP地址。
請及時清理客戶端DNS緩存。客戶端采用JVM的應用,建議將JVM配置中的TTL設置為不超過60秒,可確保在連接地址的VIP地址發生變更時,應用程序可以通過重新查詢DNS來接收和使用資源的新VIP地址。
說明JVM中設置TTL的方法請參見JDK官方文檔:Class InetAddress。
更多注意事項,請參見數據庫代理注意事項。
影響
升級過程會影響主實例連接地址、只讀實例連接地址和讀寫分離連接地址的可用性,其中主實例連接地址、只讀實例連接地址會出現30~120秒的服務不可用,讀寫分離連接地址會出現30秒的不可用。
操作步驟
- 訪問RDS實例列表,在上方選擇地域,然后單擊目標實例ID。
在左側導航欄單擊數據庫代理。
在右側單擊升級到獨享代理。
說明請耐心等待升級完成。