朱建
隨著中國人口紅利消失、競爭加劇,很多互聯網公司選擇出海掘金,由于中國游戲市場不斷加強監管力度,出海更是成為很多游戲公司的必修課。
2019年12月12日登陸港交所的心動網絡也是游戲廠商出海大軍中的一員,但是出海帶來業務增長的同時也帶來了IT方面的挑戰,為了不影響玩家體驗,心動網絡開啟了上云、遷移數據庫之路。
出海掘金業務猛增迎挑戰
心動網絡于2002年成立,前身為中國最早的互聯網分享網站之一的電爐大全(VeryCD)。2009年起,公司開始打造心動網絡的自主品牌,進軍游戲領域,致力于網頁及移動客戶端游戲的研發與運營。
2016年心動網絡增資海外發行公司龍成網絡,投資成立公司易玩(上海)網絡科技有限公司,打造游戲社區平臺TapTap,進一步拓展公司產品在海內外的發行運營渠道,構建內容社區平臺,2019年心動網絡加大了海外的擴張步伐,將《碧藍航線》《永遠的7日之都》《第五人格》等國內大熱產品帶到海外,主打韓國、港澳臺和東南亞市場。
市場研究機構Newzoo發布的東南亞游戲市場研究報告顯示,隨著移動設備普及,東南亞網絡人口不斷增長,2019年東南亞游戲市場規模有望達到46億美元,同比增幅22 %,成為全球增速最快的游戲市場。
隨著業務的發展其營收也水漲船高,這2年心動網絡的海外營收不斷走高,根據招股書披露,2018年心動網絡在海外營收占比由2016年的2.1 %上升到61.5 %。
業務的發展離不開強大的IT支撐。據悉,心動網絡為支持游戲業務快速出海、游戲發行和TapTap游戲社區全球化運營與交付,需要支撐全球化業務的統一部署。在服務國內、東南亞和歐美等地人口大國時,活動峰值有100萬級玩家同時在線,需要支撐高并發壓力,提供低延遲、高穩定的云服務。
云計算具有可擴展、高并發的性能,此前心動網絡大部分業務部署在IDC,為了降本增效逐步使用了阿里云的ECS,RDS,SLB等產品和服務遷往云端。其中承載應用的數據庫是上云升級的重中之重,比如游戲運維發布、游戲服務端軟/硬件故障導致服務端重啟,需要數據庫支撐更快的數據讀取能力,以實現業務的快速恢復。
而心動網絡業務的高速增長使得原來的MySQL數據庫面臨著挑戰,部分項目會有單表大量讀寫的瓶頸,造成業務的延遲較大。其另一個主要痛點是新版本發布時數據備份慢,游戲新版本發布往往是凌晨,發布前對數據備份動輒需要幾個小時才能完成,非常影響凌晨發布的效率。
從MySQL到PolarDB
遇到瓶頸后發力海外的心動網絡希望繼續沿用阿里云的服務升級,但彼時阿里云海外節點較少,于是測試使用了AWS Aurora。而隨著阿里云不斷發力海外,其自研的云原生數據庫PolarDB有了足夠的海外節點,心動網絡找到了PolarDB。經過多輪討論與評估、壓測各項指標分析,PolarDB可100 %兼容MySQL,使得心動網絡的業務可以無縫遷移。同時,PolarDB大幅減少了單表讀寫壓力,使業務相對更穩定,且不需要花太多時間去進行分庫分表的優化,成本比Aurora更低。因此,心動網絡最終選擇了PolarDB。
PolarDB是一款關系型分布式數據庫,采用工業界得到廣泛驗證的計算與存儲分離架構,原生兼容MySQL,經歷過雙11大規模高并發、高可用和擴展性檢驗,又有基于中國市場的豐富實踐,成為包括心動網絡在內的很多企業數據庫上云的選擇。
不過數據庫作為應用軟件中最難遷移的技術之一,稍有差池后果很嚴重。心動網絡數據庫遷移前雙方團隊進行了風險評估以及數據備份,唯一擔心的是遷移后的性能和數據庫結構不一致問題。由于在遷移前充分壓測了PolarDB的性能并進行測試遷移,正式遷移相對順利。最終心動網絡采用PolarDB分布式云原生數據庫方案構建了全部業務系統,解決了相關挑戰,具體來看:
1.優良游戲體驗:基于存儲計算分離架構,實例都帶有一主一支讀節點,基于高性能的讀寫能力,便于新開服以及應用彈性擴容。在游戲版本發布、服務端重啟等場景可以大大縮短維護時間,又確保在極端情況下,不會因為游戲服務端軟、硬件故障造成服務恢復過慢而影響玩家體驗。
2. 7×24高可用服務:數據采用3副本一致性存儲,保證了數據的可靠性。同時在主實例發生故障時系統能在短時間(30 ~ 60 s)內完成快速切換,確保在線業務能夠在保證數據完整性的同時快速恢復以提供正常的服務。
3.備份速度快:傳統的數據庫備份時間跟數據容量相關,容量越大備份越慢。但PolarDB在計算存儲分離的架構下,通過分布式存儲的快照(Snapshot)來實現數據庫的無鎖備份(lock-free backup),并且通過Copy-on-Write把數據的復制拷貝后置,可以做到30 s以內完成整個數據庫的備份,使備份時長與容量無關。
4.豐富的業務支持:100 %兼容MySQL5.6和MySQL8.0,完全兼容MySQL各種生態和中間件開源工具,非常方便游戲歷史戰績、游戲充值和運營活動的開展。
數據庫合適的才是最好的
作為對標基礎物理的數據庫,研發難度極大。這兩年國產數據正逐步展露頭角,就游戲產業而言,一些共性的低延遲、全球同服和高并發等挑戰,PolarDB分布式云原生數據庫有其獨特的優勢。

從心動網絡數據庫遷移過程可以看到,企業云端數據庫選型考慮的是綜合因素,性能、成本、服務等都會影響最終結果,相信每個企業都有自己的考量,合適的才是最好的。