手游日活用户千万级,由此产生了数亿级的日数据处理量,在庞大数据的背后,是对游戏平台及系统架构的巨大挑战。如何真正让用户做到对后台技术和基础设施“无感”,云原生的系统架构或许是个不错的选择。
由金科文化旗下子公司Outfit7开发的一款风靡全球的手机游戏“会说话的汤姆猫”,自推出以来,受到了全球众多用户的青睐。通过在AWS上建立一套云原生架构,金科文化可以轻松满足高并发、高效率、高可用、低成本的运营需求,为世界各地的用户提供更加顺畅、更低延迟的服务。
目前,金科文化在全球建立了两个基于同样的云原生架构的游戏服务平台,国内用户平台使用西云数据运营的AWS中国(宁夏)区域,海外用户平台使用AWS亚太(新加坡)区域。由于架构是相同的,金科文化只需要一次开发,就可以部署在两个区域,大大节省人力成本以及发布成本。
从传统架构到云原生架构的转变
“会说话的汤姆猫”不仅是一款手机游戏,它已经成为全球知名IP,形成了由数十款游戏组成的游戏家族。目前,其App产品矩阵的全球累计下载量超过130亿人次,月活跃用户超过4.1亿,全球日活用户超过4000万,中国日活用户超过1000万。
在这款风靡全球的游戏发行体系搭建之初,金科文化决定采用传统方式,自己搭建整个开发和运维环境。但是,当时间过去了两三个月后,搭建进度没有达到预期的要求,整个发行体系没有搭建起来,这势必会影响到游戏的发行。
金科文化游戏事业部支撑中心技术总监夏祥龙坦言,由于金科文化自身技术人员经验不足,完整地运维搭建的环境需要付出很大的人力成本,再加上游戏发行时间计划已定,必须按照进度完成发行体系,于是金科文化破釜沉舟尝试了云原生的开发模式。
基于云原生的开发模式,能够快速满足金科文化的开发要求,并且可以实现短期上线。此外,在扩展过程中,无需太多开发的工作量,就可以将不同组件进行配置连接,避免出现低级技术错误,同时还可以更加高效地完成扩展工作。
云原生架构优势凸显 满足游戏快速增长
游戏发行最核心的难点就是用户量的暴增,游戏用户量在高峰期和低谷期是有几倍甚至是十几倍的差别,因此高并发是游戏发行行业遇到的最主要的技术问题。金科文化是怎样解决高并发带来的压力呢?夏祥龙告诉51CTO,高并发的诉求会带来三部分的压力,一是流量的压力,二是机器负载的压力,三是事件处理和数据库读写压力。在金科文化的游戏发行体系中,更多地运用云原生的自动伸缩功能来对冲流量压力带来的影响。
据了解,金科文化的云原生架构分为四层。在用户流量层,通过负载均衡ALB(Application Load Balancer)产品将游戏流量进行分流;第二层分为两部分,一是游戏的业务逻辑处理和与用户信息的交互接口返回,即API层,根据请求的并发量高低自动地进行伸缩;二是事件系统,通过收集事件后分析用户相关数据的标准行为和某些特殊行为,然后将数据流直接导入到Amazon Kinesis队列,通过Amazon Kinesis进行实时数据分析,并将离线数据接入Amazon S3云存储服务进行数据的抽取、转换和加载。
夏祥龙表示,借助云原生架构,可以在技术决策、开发以及运维三个阶段省时省力,更加便捷地进行开发,以达到游戏发行的时间规划要求。
在技术决策阶段,所花费的成本非常低。过去金科文化在搭建过程中,对于新技术的选用以及运营会花费很长时间,有时还会遇到技术问题无法解决。通过云原生架构,金科文化需要什么产品,只需要开通、接入就直接使用,大大节省了技术决策成本。
在云原生开发过程中,需要使用的组件可以直接配置应用即可,而不用关心组件的运行和维护等工作。
在运维阶段,无需关注云产品的部署,只需要关注组件的健康状态,例如CPU、内存、读写等数据,通过Amazon CloudWatch进行监控,在接入到金科文化自己的运维监控系统中做整体运营。
源于一个数据库产品 相中AWS
在技术选型时,金科文化对比过很多云厂商,但是选择AWS的一个重要理由,就在于Amazon DynamoDB 键/值和文档数据库服务。
夏祥龙告诉51CTO,过去在游戏开发时,如果数据库性能不够则会通过扩展更多的数据库来满足业务需求,当数据库达到极限后,则会采用诸如MySQL分表方式,但是数据库的性能是有瓶颈的,无法满足实际需求。当夏祥龙了解到Amazon DynamoDB产品,便毅然决定和AWS进行合作。据介绍,Amazon DynamoDB可以持续扩充,而且不需要进行停机维护,根据技术团队设计的流量随时按需使用读写数,只要动态增加即可,这就很好地满足了金科文化的数据库需求。
此外,夏祥龙认为,AWS的架构师团队也是非常专业的。从选型、架构调整、产品使用,以及在使用过程中遇到的技术难点等方面,AWS的架构师都可以及时地进行指导和沟通,帮助金科文化顺利地完成游戏发行体系的搭建。
再者,AWS产品之间的相互衔接比较好,从流程到业务处理层,再到数据库,整个架构都可以很方便地通过配置和简单的开发将各个模块进行集成。夏祥龙表示,“我们可以更加专注于整个架构和业务流程的工作,避免了产品维护的相关工作,节省了我们大量的精力。”
结语
金科文化是在2017年与AWS进行合作的,经过两年的验证,无论是用户的高峰期还是低谷期,AWS都能够帮助其进行动态伸缩,平衡系统架构的性能。
夏祥龙表示,在云原生架构下,金科文化保证系统开发、运维、交付效率的同时,实现了自动扩容、自动运维等保证系统弹性,为打造“无感”的用户体验打下了扎实的基础。除了通过云原生架构实现的“无感”用户体验,还来源于通过大数据分析不断改善应用开发和运营,为用户提供个性化推荐的内容,持续提高用户体验。
【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】