1. 程式人生 > 其它 >騰訊雲MySQL資料庫代理正式釋出,支援自動讀寫分離

騰訊雲MySQL資料庫代理正式釋出,支援自動讀寫分離

2021年7月22日,騰訊雲資料庫正式釋出資料庫代理(又名proxy)服務,支援MySQL 5.7 版本和8.0 版本,可為使用者提供透明且安全的網路代理服務,實現自動讀寫分離,降低業務使用資料庫的複雜度,完美解決了資料庫故障切換的網路瞬斷問題,網路中斷時間降低至0,MySQL資料庫的故障轉移時間最多可減少 60%,使得應用程式抵抗資料庫故障風險的能力大幅提升。這標誌著騰訊雲資料庫MySQL完成了企業級中介軟體的孵化,在可用性、穩定性和擴充套件性方面均有了突破性提升,能夠更好地為使用者提供企業級服務。

資料庫代理是位於雲資料庫服務和應用服務之間的網路代理服務,用於代理應用服務訪問資料庫時的所有請求。資料庫代理訪問地址獨立於原有的資料庫訪問地址,提交至資料庫代理地址的寫請求通過代理叢集中轉訪問資料庫的主例項(只寫例項),將讀請求轉發至只讀例項,自動實現讀寫分離,降低主例項的負載。

目前大量現網使用者業務場景中存在讀多寫少、業務負載無法預測等問題,在出現大量讀請求時,單個例項可能無法承受讀取壓力,甚至會對業務產生影響,這時需要對讀取能力進行彈性擴充套件,建立一個或多個只讀例項,利用只讀例項滿足大量的資料庫讀取需求。但該方案對使用者的技術要求較高,需要業務側支援讀寫分離改造,其程式碼的健壯性決定了業務讀寫分離的質量,同時也犧牲了靈活性和可擴充套件性。

使用騰訊雲資料庫代理可解決此問題,建立只讀例項後,通過資料庫代理開啟自助讀寫分離功能,在應用程式中只需配置一個代理連線地址,就可以使寫請求自動轉發到主例項,讀請求自動轉發到各個只讀例項。從而有效降低主例項的讀負載,通過新增只讀例項來提供資料庫叢集的水平擴充套件能力,降低使用者自行拆分業務讀寫請求的複雜度,尤其適合大量讀負載的情況。即使增加或刪除只讀例項,也無需調整應用程式的設定。同時騰訊雲資料庫代理與支援的資料庫引擎協議完全相容,因此應用程式無需更改程式碼,只需將連線指向資料庫代理地址即可實現資料庫訪問。

騰訊雲資料庫代理服務具備高穩定性、強隔離性、超高效能、擴容方便快捷、完備的效能監控、熱載入、支援自動讀寫分離等特性,採用叢集架構部署,多節點保證故障評估轉移,每個代理每秒最高可以處理10萬左右的請求,支援1個 - 60個代理節點動態擴充套件。騰訊雲資料庫代理服務提供讀/寫請求數、CPU、記憶體等效能指標的秒級監控,可以根據監控資料及業務規劃調整代理個數,支援動態熱載入配置,不會發生網路中斷或重啟。

在應用場景上,除了解決主例項大量讀負載之外,騰訊雲資料庫代理服務也能為多種高發業務痛點提供天然的解決方案。

遊戲業務頻繁地開服和滾服場景中,常常會遇到無法預測的工作負載,進而導致新的資料庫連線突發。騰訊雲資料庫代理服務可通過專屬連線管理使多個應用程式共享資料庫連線,以有效利用資料庫資源,並允許使用者通過調節開啟的資料庫連線數來保持可預測的資料庫效能,支援刪除無法使用的應用程式請求,以保留應用程式的整體效能和可用性。

網際網路行業頻繁使用短連線的應用服務,在使用資料庫時可能會頻繁建立大量連線,騰訊雲資料庫代理的連線池功能能夠實現資源複用,避免頻繁建立、釋放連線引起的大量效能開銷,縮減系統整體響應時間,提高響應效率,增進系統執行環境的平穩性,另一方面也能有效避免常規資料庫連線操作中可能出現的資源洩漏。

SaaS 或電子商務行業中的傳統應用程式為減少客戶的響應時間,可能會使資料庫連線長期開啟並保持空閒狀態,使用騰訊雲資料庫代理服務可保留空閒連線,僅根據需要建立資料庫連線服務於活動請求,從而避免為支援大多數空閒連線過度調大閾值及購買更高配置的資料庫,可在顯著降低成本的情況下提高效率。

此外,通過使用騰訊雲資料庫代理服務,使用者可以構建可透明容忍資料庫故障轉移應用程式,無需編寫複雜的故障處理程式碼。資料庫專屬代理自動將讀流量路由到新的資料庫例項,同時保留應用程式連線。

本文由部落格一文多發平臺 OpenWrite 釋出!