/【雷火UX带你聚焦GDC2021】育碧:基于微服务平台构建游戏应用生态(Ubisoft:Martin Lavoie)

【雷火UX带你聚焦GDC2021】育碧:基于微服务平台构建游戏应用生态(Ubisoft:Martin Lavoie)



网易雷火UX用户体验中心编译,转载需注明本公众号
什么是GDC?
GDC是全球最高影响力的游戏开发者会议,每年在旧金山召开一次,已有35届。虽然一周会议的门票售价高达2千美元,仍有多达27000名业界人士现场出席,可见其价值与权威性。GDC重头环节是非赞助类主题演讲,每届主办方平均邀请不足300场,分核心与峰会两大类别。这些演讲人经过主办方及其全球顾问委员会的精心挑选邀请,以高质量和创新性而备受行业认可,一定程度代表游戏行业的当前最高水准与发展趋势。
2020年起,受COVID-19影响,改为线上形式。2021年的GDC大会于7月19日至23日举办。雷火UX共在GDC2021获邀11场演讲,领跑全球。

每年的GDC大会上,全球顶尖的游戏开发者们将齐聚在这里,交流彼此的想法,构想游戏业的未来方向。接下来雷火UX公众号会选择一部分高质量的演讲,陆续为大家进行介绍。旨在通过对这些演讲内容进行学习,了解游戏领域的最新研究热点趋势,并期待与全世界的游戏爱好者一起产生更多创新和灵感的碰撞。

Martin Lavoie


演讲标题:

From R6 Siege To Ubisoft Connect: How Ubisoft Created A Powerful Online Ecosystem

演讲者信息:

Martin Lavoie是育碧的在线技术组副组长,同时也是Quazal的联合创始人兼CTO。Quazal是一个多人游戏相关中间件的服务提供商,于10年前被育碧收购。


育碧曾面对的挑战

1. 完全独立的游戏后端与隔离的数据的挑战:游戏数据独立分离,储存格式不统一,导致数据接口难以在不同游戏之间分享;

2. 游戏持续地进行迭代更新的挑战:游戏的各种版本会同时出现在生态中,因而数据和接口都在持续地更改;
3. 开发运维对要求工程师掌握各项技术的挑战:游戏服务的部署由各个开发团队各自为政。

为了应对以上服务和数据的需求,育碧构建了一套服务于其旗下全部游戏的平台,并具有以下特征:

1. 全局化:提供开放的API可供全部游戏接入,并以微服务的形式为各个游戏赋能;
2. 标准化:统一不同游戏的数据和元数据,一并提供数据统计,报表展示,权限管理的服务。


平台设计方案
一个微服务中台应该长什么样子?

在开发和部署上具有独立性



如果在开发部署过程中发现有的服务需要共同部署,如果在开发过程中发现要通过具体的游戏对服务进行测试,那么架构的设计变没能很好地满足这个要求。

让API作为媒介



微服务的具体实现方式(包括所用的语言,数据库,消息队列)对API外部来说都是私密的。需要特别注意的是如果服务的版本有迭代,新旧的API之间应该能相互兼容。

化繁为简



因为“无状态”的服务更容易部署和拓展,所以设计时需要尽可能把“有状态”的服务变为“无状态”的服务。并使用标准的通信协议(如HTTPS)用于服务间的交互。最后是需要让API变得简单易用。


平台基本模块

平台入口设计



平台入口的设计方式主要取决于使用的场景或者说使用者的身份。微服务平台的服务对象包括玩家,平台管理员,外部人员和其他外部服务(S2S)。不同的对象进入不同URL,并且有着独立的权限系统和安全系统。

● 玩家(client)入口:玩家在游戏或者网页调用API从而获得服务。对玩家开放的数据包括一些公共的数据以及玩家的个人数据;

● 管理员(admin)入口:管理员实质上特指育碧内部员工,通过API访问平台。拥有创建面板,更改玩家数据等高级权限;

● S2S入口:服务与服务之间使用开发定制的接口通信,并按照服务的需要开放权限;

● 外部人员(partner)入口:外部人员主要是获得访问玩家数据的权限,而这一权限需要玩家予以开放,比方说社交相关的数据,玩家成就的数据等。

权限管理设计



第一种授权方案是使用一个中心化的授权服务提供JWT功能。绝大多数的API或者服务都必须进行JWT验证。其中JWT包含使用者身份信息,调用者ID等。另一种是基于角色的访问控制(Role-based access control, RBAC):由每个服务各自负责权限的定义和验证,而授权的方式一般是全局授权或者对组授权。

其他设计要求


(1)有标准的HTTP信息头,其中包含了验证信息,应用ID,会话ID;

(2)有一个中心化的权限验证服务保证验证流程标准可靠;

(3)服务应为应用的使用情况打上日志。


平台现状

目前,这一平台已经集成了超过100个微服务,服务于超过200个不同平台的游戏,超过1500个应用客户端,触达1.4亿的年活跃用户。

现在这一平台已经被用于提升直播体验:

用于直播管理运营:Ubisoft Forward

用于触达玩家用户:Ubisoft Connect

云开发管线:
疫情期间,为了满足育碧员工远程工作的需求,本平台通过提升流处理能力,从而大大提高了远程工作效率。
游戏服务器部署:
提供服务器部署相关服务:允许游戏服务器能够部署在各个地区,并由不同团队进行管理,并且令上层应用的开发者无需关注底层云服务的细节。


 总  结 

本演讲主要介绍了育碧如何搭建一个微服务中台从而赋能其旗下的全部游戏。其中具体介绍了微服务中台的所应对的需求,微服务中台的设计架构,以及目前该平台在育碧内部应用的情况。

往期推荐




本文来自微信公众号“网易雷火UX用户体验中心”(ID:LeihuoUX)。大作社经授权发布,该文观点仅代表作者本人,大作社平台仅提供信息存储空间服务。