被央視贊過的影片會議,離不開它們!

  • 2020 年 2 月 25 日
  • 筆記

疫情期間,大部分企業開始嘗試線上辦公,學校也進行直播授課。2月,騰訊宣布疫情期間免費開放可支援300人在線會議的騰訊會議,滿足用戶需求。

隨著業務的幾何級增長,為騰訊會議提供了解決方案的雲資料庫產品需要應對快速增長的存儲容量和性能需求,讓用戶無感知的同時做到快速無損在線擴容,提供穩定可靠的服務。也要求運維人員時刻關注系統健康情況,快速應對各種系統問題,既能實現對業務的精細化運營,也能滿足對大量資料庫運維需求的快速支援。

如此「高標準嚴要求」的任務是在騰訊雲Redis和自研國產金融級分散式資料庫TDSQL配合下完成的。

在大規模的用戶場景下,騰訊會議選擇使用騰訊雲Redis作為快取服務,騰訊雲集群架構的Redis服務,僅單集群可提供最大4TB存儲容量和10萬-1000萬級別的並發訪問性能,並且能保障在99.99%的水位線內提供1ms響應時延。面對海量請求,Redis集群僅在半小時以內就高效完成了數十倍規模的擴容,單集群的擴容流程後台處理時間不超過30分鐘,同時保持了100%的系統可用性,騰訊雲Redis是中國唯一一款具備無損擴容能力的Redis資料庫產品。詳情請點擊閱讀:騰訊會議空中加油級的擴容,只需按一個按鈕

TDSQL則通過自動化運維體系、故障的自動平滑切換和彈性的水平擴展為騰訊會議保駕護航。本文中將詳細解讀TDSQL在騰訊會議背後的技術支援。

TDSQL是騰訊自主研發的一款金融級分散式資料庫產品,具備強一致、高可用、全球部署架構、分散式水平擴展、高性能、企業級安全等特性,提供自動化運營管理平台「赤兔」和智慧DBA診斷系統「扁鵲」幫助用戶進行資料庫運維。

1

智慧運營和自動化運維體系

騰訊會議從節後復工短短一周時間內完成了超過10萬台雲主機、共涉及超百萬核的計算資源投入,幾乎每天都在進行資源擴容,日均擴容雲主機接近1.5萬台。作為騰訊會議後端的資料庫解決方案之一,TDSQL也面臨著業務爆髮式的讀寫考驗,需要進行擴容。擴容意味著收到大量的服務請求,這對資料庫來說提供高性能能力也是至關重要的。

一條存在性能問題的SQL在初期可能不會引發任何問題,但隨著業務請求的增長,這些慢SQL就像滾雪球一樣越滾越大,一點點蠶食著資料庫的性能。同時隨著業務的規模越來越大,從上億條SQL中找出這些性能SQL如同大海撈針。

TDSQL智慧DBA診斷系統「扁鵲」很好地解決了這個問題,可以自動抓取存在性能問題的SQL,並進行智慧分析提供索引優化建議,將資料庫的性能問題及時扼殺在萌芽當中。經過優化,99%的SQL都消除了性能瓶頸。

「扁鵲」系統是 TDSQL 提供包括數據採集、實時檢測、自動處理、性能檢測與健康評估、SQL性能分析、業務診斷等多種智慧工具的集合,採用模組插件化無縫對接各種資料庫,在扁鵲的幫助下,DBA可以從日常繁雜的資料庫運維工作中解脫出來。「赤兔」平台從管理員視角提供TDSQL的全部運維功能和上百項資料庫狀態監控指標的展示,讓資料庫管理員日常90%以上的操作均可通過介面化完成,同時更方便定位排查問題。

「赤兔」和「扁鵲」這一套組合拳既滿足高星級業務的精細化運維,又能輕鬆應對大量的普通資料庫運維需求,更好地幫助用戶降低運維成本。

1

故障自動平滑切換,業務無感知

騰訊會議海量用戶幾何級的爆發湧入,使得TDSQL集群規模越來越大,節點故障對業務的影響越來越敏感,進而對TDSQL的容災能力提出越來越高的考驗。TDSQL的一致性切換保障了在數次集群節點故障中均能平滑完成切換,將對業務的影響降到最低。

大部分業務系統通常都需要用高可用方案來保證系統不間斷運行,資料庫作為軟體棧的最底層,對數據提供持久化和存取服務,如果高可用做的足夠好,業務層的高可用設計就可以做的更加輕量和簡單。

TDSQL高可用方案數據層的核心是基於自動探活邏輯以及騰訊自研的raft強同步複製,配合資源的自動調度實現自動化容災監測和秒級切換,保證系統7*24小時不中斷服務、數據零丟失和數據的高一致性。

TDSQL的每一個分片都支援基於強同步、強一致的高可用方案,並且對資料庫和底層物理設備提供7X24小時持續監控。發生故障時,TDSQL將自動重啟資料庫及相關進程,如果節點崩潰無法恢復,將通過備份文件自動重建節點。

1

彈性的水平拓展

作為騰訊會議的重要系統基礎支援,隨著流量的持續暴漲,優化之後TDSQL進行了一輪快速的資料庫機器水平擴容。TDSQL基於分散式架構和多租戶方案,天生具有良好的彈性水平擴展能力。這意味著資料庫實例的並發性能、處理能力、存儲容量可線性增長。

在騰訊會議的擴容實踐中,通過TDSQL策略豐富的讀寫分離技術,資料庫層面快速響應了持續增長的容量和性能需求。

為了儘可能的將讀請求分離,進一步降低對主節點的影響,TDSQL通過讀寫帳號分離、災備只讀實例等措施,將純只讀業務分離出來,進一步降低主節點的壓力提高整體的吞吐量。最終,25%的複雜查詢根據讀寫分離策略發往只讀實例,快速達到降低主節點的負載的效果。

支援多種策略的讀寫分離技術是TDSQL自研演進的彈性擴容特性之一,TDSQL產品默認支援讀寫分離,架構中的每個從機都能支援只讀能力,如果配置有多個從機,將由 SQL Engine 集群( SQL Engine )自動分配到低負載從機上,以支撐大型應用程式的讀取流量。TDSQL讀寫分離技術優勢在於提供了多種讀寫分離方案,且用戶無需關注若干從機是否完全存活,因為系統可根據策略自動調度。

除了讀寫分離技術,TDSQL彈性水平擴展包含多種特性,可應對不同場景。

最後,TDSQL具備健壯的分布事務能力支撐,也通過在持續不斷地進行性能優化。SQLEngine作為協調節點,無狀態,幾乎可以無限制地進行水平擴容。資料庫的各個SET作為數據節點,一方面存儲正常的業務數據,同時也採用hash路由的方式存儲所有的全局事務日誌,整體來看,各個模組都是可以水平擴展的,能滿足業務層幾乎無限制的水平庫容需求。

另外,針對分散式事務比較棘手的分散式鎖的問題,TDSQL採取實時的鎖診斷視圖措施,也具備全局的死鎖檢測,消除業務層鎖的各種問題。

1

總結

從智慧運維、自動故障切換,到分散式彈性水平擴容,在TDSQL支撐下,騰訊會議可輕鬆應對服務請求的持續增長,持續不間斷地為用戶提供清晰、流暢的會議、直播服務,並實現精細化業務系統運營。

直播預告

 特惠體驗雲資料庫  

↓↓更多驚喜優惠請點這兒~