8月24日消息,国内游戏厂商出海掘金如火如荼。据App Annie最新数据,2020年上半年中国手游在海外的收入年增长达到37%, 收入规模超过55亿美元。金科文化旗下游戏子公司Outfit7就是在海外乘风破浪者之一。
据介绍,金科文化旗下核心IP“会说话的汤姆猫”系列目前已经衍生成数十款游戏组成的游戏家族,业务覆盖欧盟、美国、中国、俄罗斯、巴西、印度等全球200多个国家和地区。全球累计下载量超过130亿人次,月活跃用户超过4.1亿,全球日活用户超过4000万,中国日活用户超过1000万。
“会说话的汤姆猫家族”。图片来源:Outfit7
金科文化游戏事业部支撑中心技术总监夏祥龙透露,新游戏“汤姆猫总动员”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的云产品相互之间的衔接很好,从流量到业务处理层,再到最后的数据库,这几层关系里面,都能通过简单配置和开发就可以把各个模块集成到一起,让我们专注于整个架构和业务流程的工作,避免了我们产品的维护的相关的工作,节省了大量精力。