在龐大用戶(hù)量的背后,是對(duì)于游戲平臺(tái)伸縮性的巨大挑戰(zhàn)。如何在晚上6-8點(diǎn)的流量高峰期保持與流量較低時(shí)同樣的系統(tǒng)反應(yīng)速度和游戲體驗(yàn),真正讓用戶(hù)做到對(duì)后臺(tái)技術(shù)和基礎(chǔ)設(shè)施“無(wú)感”,是金科文化在構(gòu)建游戲平臺(tái)時(shí)首要關(guān)注的重點(diǎn)。為了滿(mǎn)足這一需求,金科文化將服務(wù)平臺(tái)構(gòu)建在了AWS云服務(wù)之上。通過(guò)在AWS上建立一套云原生的系統(tǒng)架構(gòu),金科文化能夠輕松滿(mǎn)足高并發(fā)、高效率、高可用、低成本的運(yùn)營(yíng)需求,不管流量多大,用戶(hù)體驗(yàn)感受一致,不受影響。
此外,為了服務(wù)遍布全球的用戶(hù),金科文化在全球建立了同樣架構(gòu)的兩個(gè)游戲服務(wù)平臺(tái):國(guó)內(nèi)用戶(hù)平臺(tái)使用西云數(shù)據(jù)運(yùn)營(yíng)的AWS中國(guó)(寧夏)區(qū)域,海外用戶(hù)平臺(tái)使用AWS亞太(新加坡)區(qū)域,為世界各地的用戶(hù)提供更加順暢、更低延遲的服務(wù)。
云原生架構(gòu)支撐千萬(wàn)級(jí)日活的“無(wú)感”體驗(yàn)
由于湯姆貓家族游戲的日活用戶(hù)達(dá)到千萬(wàn)級(jí),由此產(chǎn)生的日廣告點(diǎn)擊量更是高達(dá)百億級(jí),金科文化需要設(shè)計(jì)一個(gè)高并發(fā)的系統(tǒng)架構(gòu),以便順暢地處理前端大量用戶(hù)的訪問(wèn)請(qǐng)求,并在后臺(tái)進(jìn)行大數(shù)據(jù)量的實(shí)時(shí)處理和分析。當(dāng)一個(gè)用戶(hù)進(jìn)入/退出游戲、點(diǎn)擊廣告、做出支付購(gòu)買(mǎi)行為時(shí),用戶(hù)平臺(tái)要能夠迅速提取出該用戶(hù)的基本信息、狀態(tài)信息,同時(shí)實(shí)時(shí)更新用戶(hù)的狀態(tài)信息。
為了充分利用云的好處,金科文化采用了云原生的架構(gòu)。云原生是當(dāng)前一種重要的IT理念。所謂云原生,就是相對(duì)于傳統(tǒng)的應(yīng)用開(kāi)發(fā)方式,以應(yīng)用在云上運(yùn)行為前提,在應(yīng)用的開(kāi)發(fā)運(yùn)維中充分利用云的特性和優(yōu)勢(shì),實(shí)現(xiàn)應(yīng)用的敏捷性、彈性伸縮、高可用性、高效率、降低總擁有成本等好處。云原生架構(gòu)開(kāi)發(fā)中通常采用的技術(shù)包括開(kāi)發(fā)運(yùn)維一體化(DevOps)、微服務(wù)(MicroServices)、敏捷基礎(chǔ)設(shè)施(Agile Infrastructure)等。
通過(guò)采用Amazon Elastic Compute Cloud(Amazon EC2)彈性計(jì)算服務(wù)、Amazon EC2 Auto Scaling彈性伸縮服務(wù)、Application Load Balancer(ALB)負(fù)載均衡服務(wù)和Amazon DynamoDB鍵/值和文檔數(shù)據(jù)庫(kù)服務(wù),金科文化的游戲平臺(tái)實(shí)現(xiàn)了7倍的自動(dòng)伸縮和負(fù)載均衡。云原生架構(gòu)幫助金科文化在保證系統(tǒng)開(kāi)發(fā)、運(yùn)維、交付效率的同時(shí),實(shí)現(xiàn)了自動(dòng)擴(kuò)容、自動(dòng)運(yùn)維等來(lái)保證系統(tǒng)彈性,從而為其打造“無(wú)感”用戶(hù)體驗(yàn)打下了扎實(shí)的基礎(chǔ)。
云應(yīng)用的下一步延申:大數(shù)據(jù)分析
湯姆貓游戲家族成功的背后,除了通過(guò)云原生架構(gòu)實(shí)現(xiàn)的“無(wú)感”用戶(hù)體驗(yàn),還來(lái)源于通過(guò)大數(shù)據(jù)分析不斷改善應(yīng)用開(kāi)發(fā)和運(yùn)營(yíng),持續(xù)提高用戶(hù)體驗(yàn)。用戶(hù)分析系統(tǒng)是金科文化在AWS云上的另一個(gè)重要應(yīng)用,通過(guò)分析用戶(hù)留存、使用時(shí)長(zhǎng)等數(shù)據(jù),為游戲開(kāi)發(fā)和運(yùn)營(yíng)提供決策依據(jù)。
金科文化巨大的用戶(hù)量背后,每天需要處理的數(shù)據(jù)量在壓縮后依然高達(dá)百GB 級(jí)別,導(dǎo)致傳統(tǒng)數(shù)據(jù)庫(kù)無(wú)法承擔(dān),更無(wú)法支撐實(shí)時(shí)數(shù)據(jù)分析。金科文化的用戶(hù)分析系統(tǒng)使用了Amazon Kinesis Data Streams接入數(shù)據(jù)流,通過(guò)Amazon Kinesis Data Analytics進(jìn)行實(shí)時(shí)數(shù)據(jù)分析,并將離線數(shù)據(jù)接入Amazon Simple Storage Service (Amazon S3) 云存儲(chǔ)服務(wù)進(jìn)行數(shù)據(jù)的抽取、轉(zhuǎn)換和加載(Extract-Transform-Load,簡(jiǎn)稱(chēng)ETL)處理。金科文化還使用Amazon Redshift托管式數(shù)據(jù)倉(cāng)庫(kù)替代了原有架構(gòu)中開(kāi)源的解決方案Apache Kylin,將部署和運(yùn)維開(kāi)支成本降低了70%多。
游戲行業(yè)對(duì)云服務(wù)的應(yīng)用由來(lái)已久,而云原生的概念也被廣泛驗(yàn)證和推崇。在實(shí)際應(yīng)用中,通過(guò)廣泛而深入的云服務(wù)提高應(yīng)用彈性和敏捷性,最大限度發(fā)揮云原生的價(jià)值,將幫助游戲企業(yè)提升運(yùn)營(yíng)效率、降低運(yùn)營(yíng)成本,適應(yīng)用戶(hù)需求快速創(chuàng)新,從而為企業(yè)發(fā)展帶來(lái)巨大的價(jià)值。金科文化在AWS的應(yīng)用,為業(yè)界同行樹(shù)立了一個(gè)成功的典范。