江娱互动是一家新兴的游戏企业,自2018年成立伊始,江娱互动就面向广阔的全球游戏市场,通过创造有趣的游戏体验,在竞争激烈的游戏市场占得一席之地。仅仅2年的时间,江娱互动就凭借Topwar(口袋奇兵)单款产品跻身中国游戏厂商出海30强。
1 背景概述
能力拆分和业务耦合度降低,为持续迭代和新技术预研提供了便利,也为江娱互动在云原生 Serverless 领域深入探索创造了契机。在游戏领域,游戏主服承载着复杂的核心业务逻辑,需要长期运行,并与多个玩家终端进行极低延迟的数据交互,因此仍然需要通过虚拟机或容器的方式承载。从主服中剥离的游戏周边业务场景,就成为了试点 Serverless 技术架构的首选目标。
2 需求分析
江娱互动的旗舰作品《口袋奇兵》是一个面向全球市场的游戏,江娱互动需要提供简单的在线翻译功能,让全球玩家进行交流。但是每个时间段同时在线的玩家数量都不是完全均等的,存在明显的波峰波谷。当遇到某些热点事件时,需要在线翻译的消息量也会陡增,需要一套可弹性伸缩的架构来处理玩家的翻译请求。传统技术架构,通过 PHP 编写的主体应用对玩家的翻译请求进行一系列的预处理,包括符号代码的替换以及敏感内容的过滤等,然后转发到第三方翻译平台获取翻译结果。这个技术架构的问题在于维护工作量大;弹性伸缩能力滞后;资源利用率低等问题。
3 解决方案
从传统架构迁移到 Serverless 架构比较容易实现。江娱互动把每条由玩家发起的翻译请求当成函数计算的一次任务,拉起对应的计算资源进行处理,任务完成之后自动将资源释放。函数计算并不限制使用特定的开发语言和业务逻辑,对于主流开发语言都能很好地支持。因为技术团队对 Java 语言的熟悉程度最高,在 Serverless 改造过程中换用 Java 语言来实现在线翻译功能,同时也能充分利用 Java 系丰富的生态能力。
4 用户价值
改造后的在线翻译业务采用完全按需使用计算资源的 Serverless 架构,能够充分利用云计算的弹性能力。
1.成本方面,由于应用不再需要长期运行对外提供服务,可以让云资源的使用量完全匹配实际的业务量的变化,从而实现平均资源利用率的大幅提升;
2.在系统的吞吐量方面,由于函数计算 FC 能够在短时间内迅速调集上万个实例的计算资源,能够在业务高峰期或用户请求突增的情况下支撑海量并发,而且不再需要有容量评估方面的前期工作;
3.在系统维护方面,由于不需要预留计算资源,也不需要对底层的软硬件进行维护,极大地降低了运营成本,让江娱互动的技术团队更专注于复杂业务逻辑的实现以及技术创新上。
4.在线翻译场景中,相比于传统的架构,基于函数计算 FC 的 Serverless 方案可以帮助江娱互联节省40%以上的 IT 成本投入。