解读"汤姆猫"背后的云原生架构

2020-09-07 10:37:09

来源:网易科技

尖端科技同飞跃,伴随高薪企业高速发展的,除了不断递增的新需求,还有“云”端科技永恒相伴。

近年来,国内外先进科技融合共生,多元发展使得企业上“云”之路不断变革,基于构建并部署在云中,具备强大访问云基础设施能力的“云原生”就孕育而生。

云原生与我们耳熟能详的云计算有着不同,其应用最大的特点就是可以迅速部署新业务,据了解,从整个互联网发展的规律来看,云原生可以分为技术层和应用层,技术层即为容器化、微服务、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%多。

有人说:云原生,它不是一个产品,而是一套技术体系和一套方法论,而数字化转型是思想先行,从内到外的整体变革。而游戏行业对云服务的应用由来已久,在针对游戏企业实际应用中,通过广泛而深入的云服务提高应用弹性和敏捷性,最大限度发挥云原生的价值,将帮助游戏企业提升运营效率、降低运营成本,适应用户需求快速创新,从而为企业发展带来巨大的价值。

关键词: 汤姆猫