客户案例 > 案例详情
久幺幺科技《百变大侦探》游戏云原生架构落地实践

《百变大侦探》开房间游戏升级至云原生架构,借助阿里云容器服务 ACK 实现了低延直连网络与弹性基础架构,有效提升玩家互动体验、计算资源的使用效率与运维自动化程度。

客户介绍

《百变大侦探》是久幺幺科技倾力打造的一款创新在线角色扮演和剧本杀游戏。在这个游戏中,玩家身临其境地扮演不同角色,通过细致入微的剧本阅读、精心设计的场景搜证和实时的对讲交流,一步步揭开层层迷雾,共同推理指认嫌疑人,直至找到潜藏的真凶,揭露故事背后的真相。至今,《百变大侦探》已成功吸引超过千万用户的加入,为广大推理爱好者带来了充满惊喜与刺激的游戏体验,深受玩家的喜爱和好评。

业务挑战

《百变大侦探》今年初发布了派对模式,玩家可通过匹配系统找到其他玩家进行交战,是典型的 PvP 开房间游戏场景。该类型游戏存在以下特点:

  • 对局时间紧凑

对局时间大多维持在分钟级别,极少会延长超过两个小时,以满足玩家对快节奏游戏的需求。

  • 极低网络延迟

游戏服务器网络延迟低,确保玩家间的互动流畅无阻,增强互动体验。

  • 匹配性能要求高

匹配系统不仅要快速响应且高效处理,还需要足够的灵活性和可扩展性,以便在玩家众多、需求各异的情况下,仍能精准匹配到相匹配的对手和最佳的房间服务器。

  • 业务峰谷变化明显

尤其是晚间的对局数量远超过白天,游戏需要能够灵活应对用户活跃度的昼夜波动。

  • 需兼顾成本与性能

需要在满足业务需求的情况下,尽量选择经济实惠的服务器。

鉴于上述特性,开房间式游戏在以下几个核心技术方面有着迫切需求:网络的直连性能、高效精准的游戏匹配系统、弹性伸缩的基础设施、支持对房间服务器状态的精细管理和自动化的运维流程。

这些技术要求确保游戏能够提供无缝且响应迅速的游戏体验,即便是在玩家数量剧增或网络环境变化的情况下,也能保持游戏的稳定性和可靠性,以及较高的资源利用率。

阿里云的解决方案
方案概述

基于以上挑战,久幺幺科技选择采用容器和云原生技术构建其游戏服务器基础设施,并将业务部署在阿里云容器服务 Kubernetes 版(ACK)上。这不仅保证了玩家的游戏体验,还大幅提高了游戏服务器管理的自动化程度。

久幺幺科技的开房间游戏场景采用了 ACK 部署架构,这套完善的架构彻底实现了容器化部署,实现了一键式发布、房间服务的热更新以及无痛运维管理,极大提高了效率和便利性。

架构说明如下:

  • 由 ACK 游戏管理组件 OpenKruiseGame(OKG)对房间服务器进行管理。

  • 由 ACK 即时弹性组件负责实现节点的自动伸缩功能。

  • 匹配系统是基于 Open Match 框架开发,专门用于为玩家寻找合适的对手和游戏对局。

子案例正文
低延迟的直连网络

为了满足玩家对游戏流畅体验的高标准需求,久幺幺科技采用了创新的网络解决方案:基于阿里云弹性计算节点,利用端口映射直接开放业务端口,避免了不必要的虚拟网络转发。这种方式不仅确保了数据传输的速度,还提升了网络连接的稳定性,为玩家提供了流畅的游戏体验。这样一来,玩家能够沉浸式体验游戏的乐趣,且无需担心网络问题。

基于上述考虑,每个房间服务器都分配了独立的访问端口。久幺幺科技通过 OKG 提供的网络自动化管理能力,实现了房间服务器创建时宿主机和业务容器端口映射的自动生成,并确保在房间服务器生命周期结束时,相应的端口能自动回收。这种智能化处理省去了繁琐的网络配置工作,大幅提升了系统的自动化程度,并为弹性伸缩的实际运用创造了条件。

房间服务器弹性伸缩

针对游戏局数随着玩家在线量的波动而变化,久幺幺科技通过 ACK 平台实现了房间服务器的智能弹性伸缩:即通过房间应用级别的动态伸缩机制,带动节点级别的弹性伸缩,确保流畅的游戏体验和较高的资源使用效率。

在应用弹性方面,采用了 OKG 提供的弹性伸缩策略,这相较于 Kubernetes 的原生水平自动伸缩器(HPA),能更精准地检测服务器的实时状态并进行动态调整。此外,该策略仅缩减标记为 WaitToBeDeleted 状态的服务器,避免对正在游戏中的玩家造成干扰,同时优化了资源配置。在使用 u1 云服务器的情况下,在保证性能的前提下,相比 7 代云服务器节省约 14% 的成本。

此外,所有标记为 WaitToBeDeleted 的游戏服务器管理流程完全自动化。游戏开发人员通过编写探测脚本,可以在对局结束时,自动向 Kubernetes 发送结束信号来启动应用级别的服务器资源回收。整个过程免除人为干预,实现了真正意义上的自动化运维。

另外,资源层面弹性伸缩由 ACK 即时弹性组件实现。相对于传统的 cluster autoscaler,即时弹性组件资源利用率更高,管理的节点池可以允许多种不同规格的机型同时存在,并且可以根据客户指定的顺序、业务容量的大小等因素,因地制宜地选择合适的节点规格;交付确定性高,通过库存查询、库存校验、库存打分、库存排序、库存可视化、库存告警等策略,将触发弹性的首次库存成功率提升到 90% 以上;交付速度快,交付速度可以在 1000 节点规模场景下 45±10 s 的范围内交付节点速度不衰减。

游戏能够根据实际的服务需求,智能地调整资源分配,既提高了服务的响应能力,也进一步优化了资源的整体使用效率。

子案例正文
轻量化运维管理

由于游戏对局的高频率和短周期,以及玩家数量的昼夜波动,运维工作的复杂性和挑战性都相当高。为了实现房间服务器的平滑升级,同时减轻运维操作的负担,常常面临一个需求:希望能够一键式更新房间服务器版本,而不影响玩家的在游体验,且无需停机维护。

这一操作也被称作房间服务器的热更新。与传统 PvE(玩家对环境)类型游戏进行的就地升级不同,考虑到单个对局时间较短的特点,通常不会在游戏对局开始后更改当前房间的服务逻辑。而是通过一键更新发布,使得新开启的房间运行在最新版本上,而现有的房间服务器保持不变。此外,通过配合匹配系统,新加入的玩家将被引导至运行最新版本的房间中。同时,利用自动伸缩机制,随着人数的自然流失,旧版本房间数量逐渐减少,而新版本房间则随着玩家增加而增加,最终实现平滑的版本切换。整个过程仅需更新房间服务的容器镜像,便可自动化完成无停机更新,极大降低了运维的复杂性。

业务价值

久幺幺科技在阿里云容器服务 Kubernetes(ACK)上的游戏服务器部署,实现了高效游戏匹配、弹性基础设施与精细房间状态管理,通过直连网络减少延迟,提升玩家互动体验。自动化运维优化资源,简化维护,借助云原生架构全面提升游戏性能和用户体验,实现资源高效运用与运维自动化。