【TechWeb】8月24日消息,國內游戲廠商出海掘金如火如荼。據App Annie最新數據,2020年上半年中國手游在海外的收入年增長達到37%, 收入規模超過55億美元。金科文化旗下游戲子公司Outfit7就是在海外乘風破浪者之一。
據介紹,金科文化旗下核心IP“會說話的湯姆貓”系列目前已經衍生成數十款游戲組成的游戲家族,業務覆蓋歐盟、美國、中國、俄羅斯、巴西、印度等全球200多個國家和地區。全球累計下載量超過130億人次,月活躍用戶超過4.1億,全球日活用戶超過4000萬,中國日活用戶超過1000萬。
金科文化游戲事業部支撐中心技術總監夏祥龍透露,新游戲“湯姆貓總動員”6月一經上線,就連續拿到6月、7月全球游戲下載榜第一的好成績。而背后支撐這一用戶暴增的技術離不開對云原生最新技術服務的合理使用。
眾所周知,游戲行業普遍存在用戶游戲高峰期帶來的高并發量、游戲版本快速迭代需要的持續交付等諸多技術挑戰。近日,夏祥龍接受媒體采訪,分享了“湯姆貓“系列游戲背后的技術建設。
對金科文化而言,夏祥龍稱,“游戲發行這塊,最核心的就是用戶量爆增帶來的挑戰。我們用戶量在低谷期和高峰期的時候是幾倍或者十幾倍的差別,我們面臨的第一是流量的壓力,第二是機器負載的壓力,第三是事件的處理和相關的數據庫讀寫的壓力。高并發是在游戲發行行業遇到的最主要的技術性問題,我們需要去解決。”
據夏祥龍介紹,最初金科文化是采用一些傳統的方式,打算自己搭建整個開發和運維環境。但是進行了兩三個月后發現沒有能夠達到預期要求。時間緊、人力有限,在這種情況下,決定破釜沉舟嘗試云原生這樣的開發模式。
從2017年底開始,金科文化發行技術體系依托AWS的平臺進行開發和運行。目前金科文化游戲的核心數據國內部署在寧夏區域,整個海外數據則部署在新加坡節點。
因Amazon DynamoDB而選擇AWS
談及為何在諸多的云服務提供商中選擇AWS,夏祥龍回憶道:經過我們的調研和AWS相關架構師的討論,基于云原生能夠快速地滿足我們的開發要求,能夠短期上線。
“我們當初選AWS的一個重要理由,就是看中Amazon DynamoDB這樣一個產品,它的數據庫是無限擴容的,在當時是獨一份的,只有這一個產品符合我們的需求。所以在此基礎上我們選擇了AWS。”夏祥龍介紹,“在整個這套體系過程中,我們運用的是云原生的自動伸縮的功能來對沖流量壓力對我們的影響。Amazon DynamoDB性能理論上講是可以持續擴充的,而且是在不需要進行停機維護過程中,只需要動態增加就可以,像我們現在用的自動伸縮的這套架構,可以根據我們設計的流量隨時按我們使用的讀寫數、使用率進行增減,在高峰期和低谷期的時候是可以差十幾倍的讀寫的容量。”
另外,夏祥龍補充道,利用AWS的架構讓金科文化旗下游戲的國內外一致性維護上更容易,開發完成之后直接往兩套系統發布就可以了。因為架構都是相同的,運維不需要額外的人力和精力,所以開發和運維都比較省成本。
據悉,通過采用Amazon Elastic Compute Cloud(Amazon EC2)彈性計算服務、Amazon EC2 Auto Scaling彈性伸縮服務、Application Load Balancer(ALB)負載均衡服務和Amazon DynamoDB鍵/值和文檔數據庫服務,金科文化的游戲平臺實現了7倍的自動伸縮和負載均衡。
而在滿足彈性和擴展性需求后,目前金科文化正在利用AWS提供的人工智能工具進行一些個性化推薦內容的研究。
Amazon Redshift實時分析帶來更多個性化業務滿足
金科文化游戲的大數據分析最初采用AWS的EMR,即在EMR基礎上搭建大數據分析系統。
夏祥龍稱,在前一年多到一年半過程中,整個系統運行流暢符合我們的要求。但是隨著新產品的不斷上線,每上線一款日活百萬級產品后,整個數據分析的時間就會慢一點,上線一款就會慢一點。原來可能只需要5分鐘就可以完成一些實時分析,但是隨著產品一款一款上線,這種分析就從10分鐘、20分鐘、半小時,有時候可能需要到40多分才能完成,這就滿足不了我們的需求。
為了提高大數據分析效率,夏祥龍團隊將大數據分析系統切換至云原生的Amazon Redshift,“整個切換過程比較平滑,切換完成后我們分析的實時性往前提高了一大步,使用體驗提升了一個檔次。”
據悉,金科文化使用Amazon Redshift托管式數據倉庫將部署和運維開支成本降低了70%多。
除了上述提及的縮短研發上線周期、減少運維成本外,在夏祥龍看來,采用AWS的優勢最明顯的是整個架構師團隊的支持。
“產品是一方面,AWS架構師團隊對我們提出的業務線上的一些需求、難點給了我們極大的支持。從最開始的選型,到后面的架構調整、新產品的使用,還有在整個過程中發生的技術問題、難點等等,都能對我們架構師團隊進行比較及時的現場指導和溝通。這對我們合作的流暢至關重要。“夏祥龍表示,另外,AWS的云產品相互之間的銜接很好,從流量到業務處理層,再到最后的數據庫,這幾層關系里面,都能通過簡單配置和開發就可以把各個模塊集成到一起,讓我們專注于整個架構和業務流程的工作,避免了我們產品的維護的相關的工作,節省了大量精力。