解讀千萬級日活的手遊IP"湯姆貓"背後的雲原生架構
尖端科技同飛躍,伴隨高薪企業高速發展的,除了不斷遞增的新需求,還有“雲”端科技永恆相伴。
近年來,國內外先進科技融合共生,多元發展使得企業上“雲”之路不斷變革,基於構建並部署在雲中,具備強大訪問雲基礎設施能力的“雲原生”就孕育而生。
雲原生與我們耳熟能詳的雲計算有着不同,其應用最大的特點就是可以迅速部署新業務,據瞭解,從整個互聯網發展的規律來看,雲原生可以分爲技術層和應用層,技術層即爲容器化、微服務、DevOps、持續交付。進一步細分則可以分爲微服務框架、API網關、Service Mesh、Serverless on Kubernetes、Kubernetes軟件包管理等。相對於傳統的應用開發方式,雲原生以應用在雲上運行爲前提,在應用的開發運維中充分利用雲的特性和優勢,實現應用的敏捷性、彈性伸縮、高可用性、高效率、降低總擁有成本等好處。
(圖片來源網絡)
根據IDC的研究報告顯示,到2022年,90%的新應用將具有微服務架構,這些架構可提高設計、調試、更新和利用第三方代碼的能力,而35%的生產應用將是雲原生的。
談及雲原生的迅速部署,這家運營着超級手遊IP“會說話的湯姆貓”的金科文化可謂是感慨頗多。據金科文化遊戲事業部支撐中心技術總監夏祥龍介紹,金科文化是嘗試雲原生比較早的公司。相對於此前通過傳統方式搭建整個開發和運維環境,通過與亞馬遜雲服務(AWS)合作運用雲原生技術,能夠快速地滿足自身開發要求,使項目短期上線,且對於遊戲高DAU(日活躍用戶數)使用等情況,也能完美支持。
據介紹,“會說話的湯姆貓”是上市公司金科文化旗下子公司Outfit7開發的一款風靡全球的手機遊戲。自推出以來,它很快成爲全球知名IP,形成了一個由數十款遊戲組成的遊戲家族,業務覆蓋歐盟、美國、中國、俄羅斯、巴西、印度等全球200多個國家和地區。目前,其App產品矩陣的全球累計下載量超過130億人次,月活躍用戶超過4.1億,全球日活用戶超過4000萬,中國日活用戶超過1000萬。
在龐大用戶量的背後,是對於遊戲平臺伸縮性的巨大挑戰。如何在晚上6-8點的流量高峰期保持與流量較低時同樣的系統反應速度和遊戲體驗,真正讓用戶做到對後臺技術和基礎設施“無感”,是金科文化在構建遊戲平臺時首要關注的重點。
“目前遊戲行業隨着遊戲品質的提升,用戶更多強調手感,特別是動作遊戲,手感流暢性等。但是迴歸到技術層面來看,更多的挑戰會集中在網絡延時,以及對於用戶的個性化需求等。” 夏祥龍談及遊戲行業面臨的挑戰時表示,“面對個性化需求,主要有針對付費用戶提升用戶價值的設計,及通過廣告點擊等針對非付費用戶的設計來提升用戶對IP的價值等。”
據瞭解,由於湯姆貓家族遊戲的日活用戶達到千萬級,由此產生了數億級的日數據處理量,金科文化需要設計一個高併發的系統架構,以便順暢地處理前端大量用戶的訪問請求,並在後臺進行大數據量的實時處理和分析。當一個用戶進入/退出遊戲、點擊廣告、做出支付購買行爲時,用戶平臺要能夠迅速提取出該用戶的基本信息、狀態信息,同時實時更新用戶的狀態信息。
此外,在金科文化巨大的用戶量背後,每天需要處理的數據量在壓縮後依然高達百GB級別,導致傳統數據庫無法承擔,更無法支撐實時數據分析。爲了解決自身巨大挑戰,充分利用雲技術,金科文化採用了雲原生的架構,將服務平臺構建在了AWS雲服務之上。
“在開始使用雲原生初期,金科文化其實也是有一部分擔憂的,不確認這個架構是否能夠滿足需求。但是經過兩年來的驗證,無論是用戶的高峰期,還是低谷期等等,雲原生架構都能非常好平衡性能;同時,成本上也隨着用戶在線的高峰和低谷進行動態伸縮”夏祥龍對媒體表示。
順暢解決:AWS雲服務優化用戶體驗
“與AWS的合作,大概是從2017年底開始。目前金科文化整個發行技術體系是依託AWS的平臺進行開發和運行” 夏祥龍介紹道,通過在AWS上建立一套雲原生的系統架構,金科文化能夠輕鬆滿足高併發、高效率、高可用、低成本的運營需求,不管流量多大,用戶體驗感受一致,不受影響。
此外,爲了服務遍佈全球的用戶,金科文化在全球建立了同樣架構的兩個遊戲服務平臺:國內用戶平臺使用西雲數據運營的AWS中國(寧夏)區域,海外用戶平臺使用AWS亞太(新加坡)區域,爲世界各地的用戶提供更加順暢、更低延遲的服務。
談及與AWS初識的過程,夏祥龍對記者表示:“因爲雲原生和傳統架構有比較大的差別,主要體現在架構層面。具體來說,整體上之前更多從傳統服務器到數據庫,在數據庫的性能不夠的時候,補充數據庫。當極限到了之後,會進行一些如MySQL的分表方式,但是其性能有瓶頸,所以最終滿足不了實際需求。而當我們瞭解到Amazon DynamoDB的產品,其性能理論上講是可以持續擴充的,且不需要進行停機維護過程中即可完成;同時,其自動伸縮的架構,可根據我們設計的流量隨時按使用的讀寫數和使用率進行增減,在高峰期和低谷期的時候是可以差十幾倍的讀寫容量。就是因爲這款產品,所以我們纔跟AWS建起了長期的合作。”
據瞭解,通過採用Amazon Elastic Compute Cloud(Amazon EC2)彈性計算服務、Amazon EC2 Auto Scaling彈性伸縮服務、Application Load Balancer(ALB)負載均衡服務和Amazon DynamoDB鍵/值和文檔數據庫服務,金科文化的遊戲平臺實現了7倍的自動伸縮和負載均衡。雲原生架構幫助金科文化在保證系統開發、運維、交付效率的同時,實現了自動擴容、自動運維等來保證系統彈性,從而爲其打造“無感”用戶體驗打下了紮實的基礎。
同時,用戶分析系統是金科文化在AWS雲上的另一個重要應用,通過分析用戶留存、使用時長等數據,爲遊戲開發和運營提供決策依據。
據介紹,金科文化的用戶分析系統使用了Amazon Kinesis Data Streams接入數據流,通過Amazon Kinesis Data Analytics進行實時數據分析,並將離線數據接入Amazon S3雲存儲服務進行數據的抽取、轉換和加載(Extract-Transform-Load,簡稱ETL)處理。金科文化還使用Amazon Redshift託管式數據倉庫替代了原有架構中開源的解決方案Apache Kylin,將部署和運維開支成本降低了70%多。
有人說:雲原生,它不是一個產品,而是一套技術體系和一套方法論,而數字化轉型是思想先行,從內到外的整體變革。而遊戲行業對雲服務的應用由來已久,在針對遊戲企業實際應用中,通過廣泛而深入的雲服務提高應用彈性和敏捷性,最大限度發揮雲原生的價值,將幫助遊戲企業提升運營效率、降低運營成本,適應用戶需求快速創新,從而爲企業發展帶來巨大的價值。