應(yīng)對(duì)IT挑戰(zhàn),心動(dòng)網(wǎng)絡(luò)開(kāi)啟數(shù)據(jù)庫(kù)遷移之路

原標(biāo)題:應(yīng)對(duì)IT挑戰(zhàn),心動(dòng)網(wǎng)絡(luò)開(kāi)啟數(shù)據(jù)庫(kù)遷移之路

隨著中國(guó)人口紅利消失、競(jìng)爭(zhēng)加劇,很多互聯(lián)網(wǎng)公司選擇出海掘金,由于中國(guó)游戲市場(chǎng)不斷加強(qiáng)監(jiān)管力度,出海更是成為很多游戲公司的必修課。

去年12月12日登陸港交所的心動(dòng)網(wǎng)絡(luò)也是游戲廠商出海大軍中的一員,但是出海帶來(lái)業(yè)務(wù)增長(zhǎng)的同時(shí)也帶來(lái)了IT方面的挑戰(zhàn),為了不影響玩家體驗(yàn),心動(dòng)網(wǎng)絡(luò)開(kāi)啟了上云、遷移數(shù)據(jù)庫(kù)之路。

出海掘金業(yè)務(wù)猛增迎挑戰(zhàn)

心動(dòng)網(wǎng)絡(luò)于2002年成立,前身為中國(guó)最早的互聯(lián)網(wǎng)分享網(wǎng)站之一的VeryCD(電爐大全)。2009年起,公司開(kāi)始打造心動(dòng)網(wǎng)絡(luò)的自主品牌,進(jìn)軍游戲領(lǐng)域,致力于網(wǎng)頁(yè)及移動(dòng)客戶端游戲的研發(fā)與運(yùn)營(yíng)。

2016年心動(dòng)網(wǎng)絡(luò)增資海外發(fā)行公司龍成網(wǎng)絡(luò),投資成立公司易玩(上海)網(wǎng)絡(luò)科技有限公司,打造游戲社區(qū)平臺(tái)TapTap,進(jìn)一步拓展公司產(chǎn)品在海內(nèi)外的發(fā)行運(yùn)營(yíng)渠道,構(gòu)建內(nèi)容社區(qū)平臺(tái),去年心動(dòng)網(wǎng)絡(luò)加大了海外的擴(kuò)張步伐,將《碧藍(lán)航線》、《永遠(yuǎn)的7日之都》、《第五人格》等國(guó)內(nèi)大熱產(chǎn)品帶到海外,主打韓國(guó)、港澳臺(tái)和東南亞市場(chǎng)。

市場(chǎng)研究機(jī)構(gòu)Newzoo發(fā)布的東南亞游戲市場(chǎng)研究報(bào)告顯示,隨著移動(dòng)設(shè)備迅速普及,東南亞網(wǎng)絡(luò)人口不斷增長(zhǎng),2019年?yáng)|南亞游戲市場(chǎng)規(guī)模有望達(dá)到46億美元,同比增幅22%,成為全球增速最快的游戲市場(chǎng)。

隨著業(yè)務(wù)的發(fā)展其營(yíng)收也水漲船高,這兩年心動(dòng)網(wǎng)絡(luò)的海外營(yíng)收也不斷走高,根據(jù)招股書(shū)披露,2018年心動(dòng)網(wǎng)絡(luò)在海外營(yíng)收占比由2016年的2.1%上升到61.5%。

業(yè)務(wù)的發(fā)展離不開(kāi)強(qiáng)大的IT支撐,據(jù)悉,心動(dòng)網(wǎng)絡(luò)為支持游戲業(yè)務(wù)快速出海、游戲發(fā)行和TapTap游戲社區(qū)全球化運(yùn)營(yíng)與交付,需要支撐全球化業(yè)務(wù)的統(tǒng)一部署。在服務(wù)國(guó)內(nèi)、東南亞和歐美等地人口大國(guó)時(shí),活動(dòng)峰值有100萬(wàn)級(jí)玩家同時(shí)在線,需要支撐高并發(fā)壓力,提供低延遲、高穩(wěn)定的云服務(wù)。

云計(jì)算具有可擴(kuò)展、高并發(fā)的性能,此前心動(dòng)網(wǎng)絡(luò)大部分業(yè)務(wù)部署在IDC,為了降本增效逐步使用了阿里云的ECS、RDS、SLB等產(chǎn)品和服務(wù)遷往云端。其中承載應(yīng)用的數(shù)據(jù)庫(kù)是上云升級(jí)的重中之重,比如游戲運(yùn)維發(fā)布、游戲服務(wù)端軟/硬件故障導(dǎo)致服務(wù)端重啟,需要數(shù)據(jù)庫(kù)支撐更快的數(shù)據(jù)讀取能力,以實(shí)現(xiàn)業(yè)務(wù)的快速恢復(fù)。

而心動(dòng)網(wǎng)絡(luò)業(yè)務(wù)的高速增長(zhǎng)使得原來(lái)的MySQL數(shù)據(jù)庫(kù)面臨著挑戰(zhàn),部分項(xiàng)目會(huì)有單表大量讀寫的瓶頸,造成業(yè)務(wù)的延遲較大。其另一個(gè)主要痛點(diǎn)是新版本發(fā)布時(shí)數(shù)據(jù)備份慢,游戲新版本發(fā)布往往是凌晨,發(fā)版前對(duì)數(shù)據(jù)備份動(dòng)輒需要幾個(gè)小時(shí)才能完成,非常影響凌晨發(fā)布的效率。

從MySQL到PolarDB

遇到瓶頸后發(fā)力海外的心動(dòng)網(wǎng)絡(luò)希望繼續(xù)沿用阿里云的服務(wù)升級(jí),但彼時(shí)阿里云海外節(jié)點(diǎn)較少,于是測(cè)試使用了AWS Aurora。而隨著阿里云不斷發(fā)力海外,其自研的云原生數(shù)據(jù)庫(kù)PolarDB有了足夠的海外節(jié)點(diǎn),心動(dòng)網(wǎng)絡(luò)找到了PolarDB。經(jīng)過(guò)多輪討論與評(píng)估,壓測(cè)各項(xiàng)指標(biāo)分析,PolarDB可100%兼容MySQL,使得心動(dòng)網(wǎng)絡(luò)的業(yè)務(wù)可以無(wú)縫遷移。同時(shí),PolarDB大幅減少了單表讀寫壓力,使業(yè)務(wù)相對(duì)更穩(wěn)定,且不需要花太多時(shí)間去進(jìn)行分庫(kù)分表的優(yōu)化,成本比Aurora更低。因此,心動(dòng)網(wǎng)絡(luò)最終選擇了PolarDB。

PolarDB是一款關(guān)系型分布式數(shù)據(jù)庫(kù),采用工業(yè)界得到廣泛驗(yàn)證的計(jì)算與存儲(chǔ)分離架構(gòu),原生兼容MySQL,經(jīng)歷了雙11大規(guī)模高并發(fā)、高可用、擴(kuò)展性檢驗(yàn),又有基于中國(guó)市場(chǎng)的豐富實(shí)踐,成為包括心動(dòng)網(wǎng)絡(luò)在內(nèi)很多企業(yè)數(shù)據(jù)庫(kù)上云的選擇。

不過(guò)數(shù)據(jù)庫(kù)作為應(yīng)用軟件中最難遷移的技術(shù)之一,稍有差池后果很嚴(yán)重。心動(dòng)網(wǎng)絡(luò)數(shù)據(jù)庫(kù)遷移前雙方團(tuán)隊(duì)進(jìn)行了風(fēng)險(xiǎn)評(píng)估以及數(shù)據(jù)備份,唯一擔(dān)心的是遷移后的性能和數(shù)據(jù)庫(kù)結(jié)構(gòu)不一致問(wèn)題。由于在遷移前充分壓測(cè)了PolarDB的性能并進(jìn)行測(cè)試遷移,正式遷移相對(duì)順利。最終心動(dòng)網(wǎng)絡(luò)采用PolarDB分布式云原生數(shù)據(jù)庫(kù)方案構(gòu)建了全部業(yè)務(wù)系統(tǒng),解決了相關(guān)挑戰(zhàn),具體來(lái)看:

1、優(yōu)良游戲體驗(yàn):基于存儲(chǔ)計(jì)算分離架構(gòu),實(shí)例都帶有一主一只讀節(jié)點(diǎn),基于高性能的讀寫能力,便于新開(kāi)服以及應(yīng)用彈性擴(kuò)容。在游戲版本發(fā)布、服務(wù)端重啟等場(chǎng)景可以大大縮短維護(hù)時(shí)間,又確保在極端情況下,不會(huì)因?yàn)橛螒蚍?wù)端軟、硬件故障造成服務(wù)恢復(fù)過(guò)慢而影響玩家體驗(yàn)。

 2、7*24 高可用服務(wù):數(shù)據(jù)采用三副本一致性存儲(chǔ),保證了數(shù)據(jù)的可靠性。同時(shí)在主實(shí)例發(fā)生故障時(shí)系統(tǒng)能在短時(shí)間(30s-60s)內(nèi)完成快速切換,確保在線業(yè)務(wù)能夠在保證數(shù)據(jù)完整性的同時(shí)快速恢復(fù)以提供正常的服務(wù)。

3、備份速度快:傳統(tǒng)的數(shù)據(jù)庫(kù)備份時(shí)間跟數(shù)據(jù)容量相關(guān),容量越大備份越慢。但PolarDB在計(jì)算存儲(chǔ)分離的架構(gòu)下,通過(guò)分布式存儲(chǔ)的快照(Snapshot)來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的無(wú)鎖備份(lock-free backup),并且通過(guò)Copy-on-Write把數(shù)據(jù)的復(fù)制拷貝后置,可以做到30秒以內(nèi)完成整個(gè)數(shù)據(jù)庫(kù)的備份,使備份時(shí)長(zhǎng)與容量無(wú)關(guān)。

 4、豐富的業(yè)務(wù)支持:100%兼容MySQL5.6和MySQL8.0,完全兼容MySQL各種生態(tài)和中間件開(kāi)源工具,非常方便游戲歷史戰(zhàn)績(jī)、游戲充值和運(yùn)營(yíng)活動(dòng)的開(kāi)展。

小結(jié):數(shù)據(jù)庫(kù)合適的才是最好的

作為對(duì)標(biāo)基礎(chǔ)物理的數(shù)據(jù)庫(kù),研發(fā)難度極大。這兩年國(guó)產(chǎn)數(shù)據(jù)正逐步展露頭角,就游戲產(chǎn)業(yè)而言,一些共性的低延遲、全球同服、高并發(fā)等挑戰(zhàn),PolarDB分布式云原生數(shù)據(jù)庫(kù)有其獨(dú)特的優(yōu)勢(shì)。

而從心動(dòng)網(wǎng)絡(luò)數(shù)據(jù)庫(kù)遷移過(guò)程可以看到,企業(yè)云端數(shù)據(jù)庫(kù)選型考慮的是綜合因素,性能、成本、服務(wù)等都會(huì)影響最終結(jié)果,相信每個(gè)企業(yè)都有自己的考量,合適的才是最好的。

根據(jù)IT168&ITPUB發(fā)布的國(guó)內(nèi)首份《云數(shù)據(jù)庫(kù)選型及滿意度調(diào)查報(bào)告》,云數(shù)據(jù)庫(kù)在中國(guó)企業(yè)中的應(yīng)用是大勢(shì)所趨,82%的企業(yè)表示,已經(jīng)部署或正在計(jì)劃部署云數(shù)據(jù)庫(kù)。在云時(shí)代,以PolarDB為代表的下一代云原生數(shù)據(jù)庫(kù)已經(jīng)掀開(kāi)了一角嶄新的未來(lái)。

免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書(shū)面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。

2020-03-11
應(yīng)對(duì)IT挑戰(zhàn),心動(dòng)網(wǎng)絡(luò)開(kāi)啟數(shù)據(jù)庫(kù)遷移之路
去年12月12日登陸港交所的心動(dòng)網(wǎng)絡(luò)也是游戲廠商出海大軍中的一員,但是出海帶來(lái)業(yè)務(wù)增長(zhǎng)的同時(shí)也帶來(lái)了IT方面的挑戰(zhàn),為了不影響玩家體驗(yàn),心動(dòng)網(wǎng)絡(luò)開(kāi)啟了上云、遷移數(shù)據(jù)庫(kù)之路。

長(zhǎng)按掃碼 閱讀全文