TiDB 在咪咕雲原生場景下的實踐

PingCAP發表於2023-11-28

咪咕是中國移動旗下的影片科技公司,門戶系統是其核心業務之一。 為滿足使用者的多樣化需求,咪咕計劃對其資料庫進行升級。 經過對中國主流國產資料庫的測試評估後,咪咕選擇了 TiDB,併成功將其落地於門戶系統雲化專案。 TiDB 為咪咕在業務增長、高可用性、效能提升、資料整合等方面帶來了顯著價值。 未來,咪咕計劃擴充 TiDB 在更多業務場景中的應用,助力其業務創新和降本增效 。

咪咕簡介

咪咕視訊科技有限公司(簡稱:咪咕)是中國移動旗下咪咕文化科技有限公司的全資子公司,是中國移動在影片領域的唯 一運營實體,主要產品包括咪咕影片、咪咕影院、咪咕直播等。截止 2023 年 6 月,咪咕影片全場景有效月活使用者數超 3.6 億,數字內容涵蓋 4818 萬條影片、10000+ 部精彩大片、院線票務覆蓋 12000 家影院、1200+ 路 音影片直播等。咪咕在 2023 年打造了杭州亞運會、男籃世界盃、女足世界盃、成都大運會等多個口碑視聽體驗 。

分散式資料庫選型的能力要求

門戶系統是咪咕視訊的核心業務系統之一,提供的業務功能包括大屏掛件、直播中臺、應用管理平臺、策略平臺、大屏展現、直播展現、任務排程、車載服務等。這些功能直接關係到組織內外資訊的高效傳遞和流動。門戶系統的服務範圍廣泛,旨在滿足使用者多樣化、靈活性、高併發和高可用需求。因此門戶系統底層依賴的資料庫需要具備高效能、高可用、靈活彈性的特點,同時還需要具備方便業務開發的使用者使用體驗,滿足門戶系統雲化微服務改造的要求。

隨著業務的快速發展,特別是在  世界盃、熱門賽事、熱播電視劇等超級流量爆發下 ,門戶系統經歷了多次改版、擴容,仍然不能滿足飛速增長的日活使用者及使用者個性化體驗的要求,  在靈活性、外掛化、微服務、雲化部署、資料庫服務等方面有待升級 。咪咕計劃透過資料庫的原生分散式改造,全面提升資料庫的服務能力,選型的要求包括:

  原生分散式架構

滿足業務快速變化的需求,不對業務產生過多的侵入,資料庫須採用原生分散式架構,計算和儲存可按需擴充套件,具有原生分散式的高可用機制,非中介軟體分庫分表架構,適配雲原生和微服務環境。

  後端引擎能力

支援本地和分散式事務,滿足 ACID 屬性要求,具有分散式一致性共識機制,達到常規的事務隔離級別,並能正確高效地處理事務異常,具有全域性索引能力。

  前端開發相容性

資料庫須相容和延續現有的應用架構和程式碼,具有相應的開發相容性、字符集、客戶端的前端支援要求。

  恢復和備份能力

支援物理備份、邏輯備份、全量和增量備份,支援將叢集恢復到任意時間點和閃回,提供金融級的災備能力。

此外,安全能力、視覺化運維、技術生態、售後服務體系的支撐能力也成為資料庫選型的考察重點。咪咕技術團隊對中國主流的國產資料庫做了 9 類、34 科、共 244 個專案的測試評估,TiDB 以最高分入選。

TiDB 在咪咕雲原生場景的落地

咪咕技術團隊從技術論證、前期準備、分批割接、並行執行、完全割接等環節出發,制定了穩妥的實施方案,保障了  TiDB  在門戶系統雲化專案的落地。 咪咕在 3 個獨立的資源池分別部署 3 套 TiDB 叢集,叢集間使用 TiCDC 元件完成資料同步,業務連線到主叢集進行讀寫,並可實現快速的容災切換。透過訪問控制策略,使得備叢集在作為應急備援切換目標的同時,也保持著多中心多活只讀服務的承擔,充分發揮資源能力。

咪咕門戶系統從 2023 年 7 月切割到  TiDB  後,已經穩定執行超過 100 天 ,期間經歷了女足世界盃、成都大運會、男籃世界盃、杭州亞運會四個重大賽事業務高峰的壓力。在重大賽事期間 TiDB 執行非常平穩,  業務峰值流量 QPS 大於 20K,TPS 大於 8K,且平均響應延時低於 100ms 。

TiDB 在落地過程中得到了咪咕門戶改造專案負責人的高度評價:

TiDB 總體上能夠較好適配咪咕當前的技術架構和執行系統,滿足開發和運維關注的長期發展的重點,包括微服務框架、開發相容、運維質量和效率提升等,所遇到的問題都能較快地解決。

應用價值

  匹配業務增長,輕鬆應對瞬間高峰

TiDB 原生分散式架構具備靈活的彈性伸縮能力,可匹配業務的特點分別擴充套件計算與儲存能力,提供強勁的效能支援。如在大促活動前進行快速的擴容,活動中短時高峰實現應急線上擴容,整個過程對業務透明,無需人工幹預。

  高可用架構,提升更好的業務連續性

實現資料庫和應用系統多中心提供對等服務,充分發揮叢集所有節點的工作能力,並且互為冗餘,既提高利用率又降低風險。TiDB 在叢集內部各個元件均採用冗餘設計,避免了任何單點的故障,透過 TiCDC 同步資料到異地災備叢集,為實現跨機房的高可用性提供了保障。

  具有更好的效能,承載更多業務

透過實際執行對比,TiDB 叢集在整體硬體資源少於原 MySQL 叢集的情況下,達到原有 MySQL 叢集效能的 1.88 倍,即在原有硬體資源的基礎上提升了約 90% 的業務承載能力。

  為資料整合、挖掘資料價值提供基礎

原有架構的幾十套 MySQL 資料庫相互獨立,煙囪式發展,無法將各分散的業務進行關聯分析,從而挖掘資料價值。TiDB 將原來十幾套 MySQL 資料庫歸集到一個叢集中,實現多個業務系統資料的實時匯聚、實時反饋、實時洞察和實時變現,帶來極  致  的使用者體驗。

未來展望

隨著 TiDB 7.x 版本的釋出,TiDB 引入了資源管控(多租戶)、DDL 並行執行框架等新特性。咪咕視訊將積極探索這些新功能,逐步擴充 TiDB 在更多業務場景中的應用,並將 TiDB 最 佳實踐推廣至其他子公司,助力業務創新和降本增效。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69994146/viewspace-2997800/,如需轉載,請註明出處,否則將追究法律責任。

相關文章