1 背景概述
心动创立于 2003 年,是一家全球游戏开发和发行商,拥有丰富的研发、发行和代理运营经验。截至 2022 年中,心动运营 38 款免费和付费游戏,在全世界拥有 5,000 万月活跃用户,主要分布在大中华地区、东南亚、北美和南美。2016 年,心动推出手机游戏社区和应用商店 TapTap,玩家可以通过官方渠道免费或付费购买下载手机游戏,亦可在社区中与其他玩家交流,2022年中,TapTap 在全球有 4,400 万月活跃用户。
2 需求分析
早期,TapTap 绝大部分的后端服务都是部署在 ECS,通过 Rundeck 来进行管理和部署,在效率和管理上并不是那么理想。在基建升级方案的需求上,主要是4点:
能大幅提升开发运维效率
以较低的人力成本来满足业务需求
服务足够可靠,能够具备良好的性能
因为工程目前主要是以 Go 语言为主,所以在后续基建升级上需要对 Go 有良好的支持。
3 解决方案
预估服务整合了搜索、推荐、广告都需要的模型推理、特征开发以及样本回传的能力,本身是一个中台型微服务,所有业务线都可以非常低成本的接入目前组内最成熟的线上预估服务。通过 SAE,TapTap 的服务快速具备了 Serverless 的能力,因为 SAE 本身屏蔽了很多资源管Serverless 案例集理、环境管理以及基础运维组件管理工作,使得 TapTap 可以快速地为国内国外的新场景、新业务上线一套独立的预估服务。
同时,TapTap 也集成了 SAE 的告警平台,事件中心以及日志服务,通过钉钉告警就可以实时感知线上业务的状态,例如是否发生了 OOM 还是重启、错误日志之类的。另外,SAE 也是接入了 Dubbo Go 框架使服务直接具备了服务注册发现,IP 直连,优雅上下线等微服务能力。
4 用户价值
简单运维,省心省力:开发可以轻松搞定应用开发、部署、管理全流程,让自己更专注于业务,也大大节省了运维的投入和成本。
不停机发布 +分钟级上线:SAE 支持灰度发布、滚动发布的能力,还提供了较为完善的 Open API,可以集成到 Git 中快速部署,使我们的服务具备了分钟级发版的能力,这个对于新业务尤其具有吸引力。
秒级弹性缩扩容:SAE 支持配置像 CPU、内存、QPS、RT、定时等不同维度指标的扩缩策略,可以帮助提升资源利用率。尤其是业务规模大了之后,通过配置更加精细的弹性策略,可以显著降低机器成本。
多语言微服务能力:SAE 提供了 PHP、Python、GO 等多种运行时,并且基于 K8s Service 多语言服务注册发现,实现了 Go 语言低成本微服务化。