腾讯游戏借助 Service Fabric 打造领先的云游戏解决方案

业务背景

根据市场调研机构 Newzoo 的预测,2017 全球游戏市场 1089 亿美元,其中有四分之一的市场在中国,全球游戏市场未来将继续保持 6.2%以上的年复合增长率。PC 游戏作为游戏市场中最重要的领域,从来都是一个充满了硝烟的战场,面临着来自同行业其他 PC 游戏厂商,以及移动端、网页端等新兴游戏厂商的双重竞争压力。

云端计算能力的快速发展,驱动了传统客户端应用程序开发向‘瘦客户端+富服务端’微服务化应用程序开发的转型,其在有利于优化开发运维一体化流程、降低运维成本的同时,实现对用户需求的快速响应与交付。腾讯游戏作为国内领先、国际知名的游戏开发和服务提供商,希望使用微服务化的技术优势,为玩家带来最佳游戏体验,让 PC 游戏能够像‘服务交付’一样实现快速下载、轻松运行、时刻保持内容最新,将玩家的使用负担降至最小。

然而,让 PC 端游戏变得像移动应用和 Web 应用那样轻便小巧,又不失良好的玩家体验,并不是一个简单的任务。PC 端游戏动辄数 GB 的游戏客户端、频繁而大量的内容更新,以及对传统客户端\服务器模式的依赖让腾讯游戏研发团队感到压力与挑战。如何将安装包降至数百 MB,如何将游戏客户端的部分功能以服务的形式交付和管理,如何对支持以服务为导向的运营模式,是腾讯游戏在游戏微服务化过程中需要解决的问题。

解决方案

为了提供最佳的游戏体验,腾讯游戏不断致力于寻求构建最优的云游戏解决方案,即将 PC 游戏以微服务的形式进行发布和交付。经过对微软 Service Fabric 分布式系统平台的充分评估和调研,腾讯游戏认为 Service Fabric 可以很好的支撑腾讯游戏将 PC 游戏客户端部分功能向微服务化进行转换的需求,帮助腾讯游戏实现轻快简洁的游戏体验目标。

该方案的特点包括:

创新的技术架构

Service Fabric 是微软提供的微服务框架,微软的公有云平台 Azure 上的很多服务均构建在 Service Fabric 之上。作为用于 生产和管理企业级云规模应用程序的下一代中间件平台,在其基础上构建了全新的游戏资源和应用程序平台,创新性的首次实现基于云端的游戏应用集群化管理,在超大规模下提供了高度可用和持久的游戏应用服务,实现了对传统游戏客户端的极大精简,将 PC 游戏带入了基于微服务架构的云游戏时代。

腾讯游戏的云游戏方案技术架构

以往,玩家在体验大型 PC 游戏时,需要先下载并安装一个数 GB 大小的本地游戏客户端,使用账号登录后,客户端连接到远 程服务器进行在线游戏,当游戏内容更新或升级时,玩家需要再次下载安装更新包,费时费力。现在,腾讯游戏利用 Service Fabric 将原来的本地游戏客户端迁移至云端,游戏镜像在云端进行统一维护和更新,玩家只需下载安装一个类似渲染指令回放器的“瘦”客户端,即可随时体验最新的游戏内容。

快速上线的微服务化体验

通过 Service Fabric,游戏开发人员可将重点放在创建游戏内容并为其增加商业价值的功能上,简化的“瘦”客户端架构让游戏厂商不必维护复杂的客户端设计、开发和内容分发上,从而避免了为在基础结构中处理可靠性、可伸缩性或延迟问题而设计和编写额外代码产生的日常开销。

腾讯游戏利用 Service Fabric 创建了有状态的游戏应用程序微服务,游戏逻辑的实例和状态管理均在云端实现,“瘦”客户端只负责图像渲染和输入输出控制,从而实现服务化的游戏应用更新和分发体验。精细构建的游戏应用微服务可实现持续集成和开发实践,一切内容分发和客户端更新均在云端由 Service Fabric 统一完成,加速了新功能和新内容的交付。

灵活可伸缩的业务支持

凭借 Service Fabric 跨 Azure、本地和托管数据中心一致的平台服务和相同的应用程序模式,腾讯游戏现在可以在公共云、 托管云或私有云上灵活部署游戏应用,为不同类型的游戏提供了丰富的选择和极大的灵活性。

更重要的是,微软 Service Fabric 不仅可以在微软智能云 Azure 中运行,还可以独立在 Windows 和 Linux 中部署运行,允许用户使用熟悉的开发语言,同时提供丰富的 API 程序接口,方便用户针对业务需求生成微服务。

企业收益

Service Fabric 作为微服务平台,旨在解决构建和运行服务方面的难题,并有效地利用基础结构资源,使团队可以使用微服务方法来解决业务问题。与以往的客户端-服务器模式不同,在微服务方法中,每个服务都管理并存储自己的状态。每个服务将负责同时缩放代码和状态,以满足服务的需求。

在 Service Fabric 的支持下,腾讯游戏现在可以大规模生成和维护云端游戏应用程序服务,云端游戏客户端以通过多种服务 进行解耦、分离,从而将生成应用程序时的复杂性降低,避免了许多耗费成本的重新设计工作,更快速地提供游戏新特性和功能,灵活应对玩家需求,提高资源利用率。

微软 Service Fabric 微服务架构模式

在玩家体验方面,最直观的是下载和安装客户端时所付出的成本大幅降低,同时,当游戏内容和功能升级时,玩家也无需进行客户端更新,这种以服务形式交付的游戏体验目前在国内是独一无二的,极大的优化了玩家体验,也降低了玩家接触新游戏时的进入门槛。

在腾讯游戏采用并部署微软 Service Fabric 的过程中,微软中国 DX 团队和微软美国总部团队共同提供了大力支持与配合,在帮助解决困难的同时还积极收集了来自腾讯游戏团队的反馈和建议,其核心解决方案的实现只用了三个月即完成。微软 Service Fabric 为《穿越火线》等游戏带来的良好体验让腾讯游戏团队开始着眼于更进一步的游戏微服务化战略,能够进一步利用容器技术,更进一步优化游戏运营,提升更多游戏的玩家体验。

客户

  • 腾讯科技(深圳)有限公司

数字化转型领域

解决方案领域

行业

查看全部案例 >>

推荐案例

Top