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