在线教育如何应对流量洪峰?阿里云专家:上云+云数据库是最佳路径
2月中下旬原本是全國各地春季學期開學的日子,但這場突如其來的疫情使得1.8億中小學生只能紛紛在家開啟“停課不停學”的學習生活,而線上教育也順勢成為了這一特殊時期首選的學習方式。
但突如其來的流量洪峰,卻讓許多線上教育平臺力不從心。開學第一天,包括學習通、慕課網等在內的多家在線教育平臺都出現了“卡頓”和“死機”的情況,“學習通崩了”這一詞條一度登上了微博熱搜。
與此同時,阿里云平臺上的教育領域客戶的擴容需求也在飛速增長,其中數據庫擴容需求更是十分強烈,滬江教育、猿輔導、VIPKID、洋蔥學院等多家在線教育平臺通過分鐘級擴容,平穩應對了流量挑戰。
在線教育企業業務場景較為類似,基本上都面臨著海量的題庫、音視頻答題資料、用戶數據以及日志等巨大的數據存儲需求,這些都對在線企業后臺數據存儲和處理能力都提出了嚴峻的要求。
作為在線教育企業,面對今天的應用環境,該如何建設IT,才能靈活適配業務發展,做到不掉鏈子?本文主要討論在線教育企業的數據庫建設問題。
延時、卡頓、高成本,自建方案打不贏這場仗,上云是最佳選擇
阿里云平臺上的有些在線教育客戶之前采用的是自建數據庫的解決方案。在企業業務發展初期,數據庫可以支撐業務的發展。但是企業發展到一定程度,很快自建數據庫的方案開始捉襟見肘。
阿里云的一家大型在線教育客戶,在周末或者在線模考的時候,同時在線人數會瞬間激增,原本的自建數據庫方案難以應對這樣的訪問峰值,導致很多學生無法正常進入在線考試。而答題的延時也從正常情況下的1秒之內增長到平均5秒,使得學生用戶的答題體驗急劇下降。
與此同時,這家在線教育客戶的用戶量每年飛速增長,自建MySQL數據庫的CPU利用率已經達到了70%以上。此外,招聘專職DBA也導致公司每年產生至少100萬以上的成本。
總之,自建數據庫方案難以應對訪問峰值,難以滿足業務高速發展的需求,并且難以管理,且會增大人力成本等問題,這些都是擺在高速發展的在線教育企業面前的巨大挑戰。
面對上述的諸多挑戰,這家在線教育企業選擇放棄自建IT,整體將業務遷移到阿里云上,核心的數據庫選擇了阿里云PolarDB。通過充分利用云計算的技術優勢,這家在線教育企業實現了IT架構的極大靈活性,不但降低了IT成本,還得以讓技術團隊專注于業務體驗的提升。
以猿輔導為例,通過將數據庫遷移到阿里云PolarDB之后,在業務平峰的時候,能夠同時支撐大體量學生在線進行課程學習,并且業務根本不會感覺到壓力。而當應對業務高峰的時候,只需要提前一小時進行準備,就能夠將業務能力臨時提升至足以應對100萬學生并發訪問的等級。
而且,由于PolarDB數據庫資源可以按需彈性伸縮,因此在猿輔導從MySQL遷移到PolarDB之后節省了5個只讀庫的容量,節省了近70%的數據庫費用支出。此外,在線數據庫維護工作量能夠降低95%,無需資深的專業DBA坐鎮,因此大大降低了數據庫維護的人力成本。最后,如果從業務維度來看,猿輔導在遷移到PolarDB之后,大大提升了用戶體驗。
從技術層面來看,在線教育企業的業務場景較為類似,隨著云計算技術的進一步成熟,云平臺已經成為最佳的業務支撐平臺。
數據庫分鐘級擴容幫助在線教育企業應對業務高峰
在線教育企業,很多的產品或者服務都具備明顯業務峰值特征——在周末以及考試期間會產生業務訪問的高峰。用戶的高并發訪問所造成的讀寫爭用,進而使得數據庫I/O較高,而如果一直購買高配置的MySQL數據庫,高昂的成本使得企業難以接受。
在阿里云上,很多在線教育企業通過使用阿里云PolarDB,借助其快速彈性的能力,在業務的高峰期臨時增加數據庫配置和集群規模,與之前的方案相比整體成本大大降低。一般而言,傳統數據庫的擴容配置要以天為單位計算,而云數據庫則可以實現分鐘級的擴容,效率提升數十倍以上。
從在線教育企業的反饋來看,之所以選用阿里云PolarDB數據庫,除了PolarDB數據庫具有較高的性能,并且能夠與MySQL實現100%兼容之外,更加看重PolarDB的分鐘級彈性伸縮能力。
而在其強大的彈性能力的背后其實是PolarDB存儲與計算分離設計。所謂分離就是計算節點(DB Engine)和存儲節點(DB Store)在不同的物理服務器上,任何落地到存儲設備的I/O操作均為網絡I/O。而且,借助PolarFS經過網絡訪問PolarStore的測試性能效果基本能夠與本地單副本SSD持平。而PolarDB的存儲與計算分離的架構,除了可以降低存儲成本,保證主備數據強一致、不丟數據之外,還帶來了一個巨大的優勢,就是讓數據庫的彈性伸縮變得極為簡單、便捷。
阿里云PolarDB分層架構圖正如上圖所示,PolarDB采用了分層架構,從上層的代理PolarProxy提供了讀寫分離、SQL加速等功能,到中間的數據庫引擎節點PolarDB構造了一寫多讀的數據庫集群,再到底層的分布式存儲PolarStore為上層提供多節點掛載的數據共享,每一層各司其職,共同構建了PolarDB云數據庫集群。
通常意義的擴展性,一般有縱向(Scale up)和橫向(Scale out)和兩種方式,縱向是指提升配置,橫向是指配置不變,但增加節點。對于PolarDB而言,其彈性能力可以概括為“橫向最多可以到16個節點,縱向最高可到88核,并且存儲容量動態擴展,毋須配置”。
PolarDB超強彈性背后的技術實現細節不再贅述,但是數據庫具備分鐘級的擴容能力,對于在線教育企業而言非常重要,在本次疫情期間,也很好地幫在線教育客戶應對了流量洪峰。
總結:上云+云數據庫是在線教育企業最佳路徑
疫情以來,在線教育的需求爆發式增長,但是如果因為IT能力的不足,而拖累業務的表現,這是很多在線教育企業最不愿看到的情況。今天阿里云平臺上在線教育企業的實踐已經證明,云計算和云數據庫等技術是助推在線教育企業快速發展的最佳技術路線。
總結
以上是生活随笔為你收集整理的在线教育如何应对流量洪峰?阿里云专家:上云+云数据库是最佳路径的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: “12306”的架构到底有多6?
- 下一篇: 开发者在行动!中国防疫开源项目登上 Gi