行业综述

随着游戏行业市场的发展,休闲类、卡牌类游戏已经无法满足玩家对高品质游戏的追求,同时移动终端硬件配置也在飞速提升,满足了MMO RPG (Massively Multiplayer Online Role Playing Game)、MOBA (Multiplayer Online Battle Arena)等中重度游戏运行对硬件的要求,越来越多的MMO类型产品随之诞生。

MMO类型端游产品也同步向手游产品领域进军,这也标志着云服务未来要承载越来越多此类游戏后端服务器的支撑工作,合理的平台架构是系统稳定运行和业务保障的基础。

目前,游戏产品同质化现象严重,游戏厂商已经从爆发式增长时代逐步回归理性,未来将走精品化路线、走全球化路线,一线大厂以及部分有实力的新晋厂商将在这一轮严峻的洗牌中存活下来,未来MMO类游戏在精品化游戏中将持续扮演非常重要的角色。

技术难题

  • 大带宽高包量

    由于MMO类型游戏一般都希望可以尽量做大视野,且其核心玩法基础是移动和战斗,要求同屏间玩家互相实时可见,大量的移动包和战斗包都是需要在视野内进行广播。

    该玩法背景下,若MMO游戏服务器拥有较多的玩家同时在线时,会产生大量的通信包,这就要求MMO游戏服务器的接入层需要具备充足的网络带宽和较高的网络包吞吐能力。

  • 资源弹性伸缩

    MMO类手游、页游具有轻游戏和时间碎片化的特点,这种短平快的行业特性,需要最大化地节约和利用游戏服务器资源,高效地完成MMO游戏服务器开服、合服,尤其是在页游场景尤为明显地情况下。

  • 高计算能力

    对于MMO类型的网游,游戏策划们希望通过玩家之间的强交互来吸引更多的玩家,所以需要尽可能地提高单区玩家的同时在线数。单区最高玩家同时在线数一般要求能够达到数千,所以MMO类型的网游属于强交互强校验类型,对游戏服务器的计算能力有比较高的要求。

  • 就近接入

    MMO类型游戏往往会采用分区、分服和跨地域多中心等就近部署的模式,让游戏玩家通过就近接入方式连接游戏服务器,保证游戏流畅性,提升游戏体验。

为什么选择阿里云?

  • 顶级基础设施

    • 自建5A机房,全球16大IDC中心,BGP独享带宽,千G光纤接入,全球1200+CDN节点。
    • 借助阿里云遍布全球的自有数据中心和高速通道服务,轻松实现全球同服,形成全球一张网,单控制台秒级部署国内海外资源。
  • 完善的产品支撑

    • 完整的产品线体系,满足各类业务场景的需求。
    • 丰富的实例类型,满足各类技术场景对实例规格及性能指标的需求。
  • 支持高主频实例

    提供多种主频类型实例,满足各类场景对CPU计算能力的差异化需求。

    • 满足复杂游戏逻辑对计算时效性的要求。
    • 满足老端游架构对单核处理速度的要求。
  • 高网络吞吐能力

    提供高网络吞吐类型ECS实例,100W以上pps吞吐能力,满足各类高包量场景的需求。

    • 满足多人同屏消息广播场景对pps能力的要求。
    • 满足公共数据读取时对内网带宽吞吐能力的要求。
  • 稳定的计算能力保障

    提供独享型实例,保障持续稳定的计算能力输出。

    • 满足高负载场景对CPU计算能力稳定性的要求。
    • 满足密集型计算场景对计算时效性保障的要求。
  • 全球就近接入

    遍布全球的数据中心,满足全球同服基础架构要求,实现玩家就近接入。

    • 保障全球同服玩家访问体验。
    • 解决玩家LastMale问题。
  • 优质BGP网络

    多线BGP网络,保障玩家拥有高质量的网络访问体验,解决终端玩家跨运营商网络问题。

  • 专业安全防护能力

    阿里云集阿里集团十余年的安全攻防经验于一身,提供从客户端、网络层、应用层到基础资源层全链路的安全防护方案。

    • 解决DDoS、CC等各种类型网络攻击防护问题。
    • 解决登录、支付等核心业务平台应用层攻击及渗透问题。
    • 通过大数据分析实现安全风险预测。

      阿里云DDoS高防IP构建业内最强游戏安全防护体系,轻松防御百G级别DDoS攻击和各种应用层攻击。

  • 高效的运维支撑体系

    • 丰富的产品API大大提升客户运维灵活度及效率。
    • 完善的监控预警体系有效降低运维监控难度。
  • 优质的服务体验

    • 全球统一售前售后服务体系加本地化服务支持。
    • 专业的技术服务支持保障响应速度及问题处理效率。

业务功能架构

关于MMO类游戏整体业务的流程和具体业务模块,可参考下图:



产品架构

MMO通用参考架构方案

阿里云完整的产品线体系提供了从游戏下载&更新、游戏业务服务器、游戏逻辑服务器、游戏DB服务器、游戏数据运营平台到游戏运维监控平台的全场景解决方案。

通过合理的服务组合及资源配置可以有效提升运维效率,提高业务体验,降低综合运营成本。



MMO类游戏架构—端游

通过阿里云的不同产品来实现整体/某个特定的业务流程,MMO类的端游游戏架构如下所示:



数据交互过程
参见MMO类游戏架构—端游中所示图片,以下将列出图中各编号所代表的具体数据交互意义:
  1. 客户端连接Gate Server发起登录请求。
  2. Gate Server将登录请求转发给Login Server。
  3. Login Server向DC Server发起身份数据验证查询。
  4. DC Server访问GameDB Server完成数据查询并返回结果。
  5. Login Server若通过身份校验,则继续查询并返回账号状态数据(角色、等级、属性、上次登录所在场景服务器及坐标等信息),登录状态及信息会同步到Center Server。
  6. Center Server负责将信息下发给对应场景服务器,同时将玩家上线通知广播给该玩家好友及玩家在线状态监听(控制断线重连及断线超时)。
  7. Gate Server收到认证信息后与对应场景服务器建立连接,玩家成功登录到场景服务器。
  8. 如果玩家有公共信息需要广播会发请求给Center Server,由Center Server完成消息数据包的广播工作。
  9. 场景服务器开始向日志中写入所有客户行为日志,同时将玩家相关数据存储或查询请求发给DC Server。
架构特点
MMO类端游游戏的架构特点主要如下所示:
  • 网关服务器负责所有网络数据包的转发,通常是网络负载较集中的点,对于网络吞吐能力要求较高。
  • 场景服务器包含游戏逻辑,相对依赖CPU处理能力以及一定的网络包转发能力。
  • 单个游戏区承载玩家数量过万,逻辑服务器通常按照场景地图来划分,规模再大会通过分线的方式实现。
  • 数据中心服务器负责缓存玩家数据并异步入库,保障玩家客户快速获取和写入数据,对于可用性要求较高,需要配合应用层实现数据容错机制。
  • 日志服务器承载了大区所有业务行为的日志收集及处理的压力,对磁盘写入性能要求较高,通常采用多台分组方式实现。

MMO类游戏架构—手游

通过阿里云的不同产品来实现整体/某个特定的业务流程,MMO类的手游游戏架构如下所示:



架构特点

MMO类手游游戏的架构特点主要如下所示:

  • 手游项目相对端游玩法复杂度较低,生命周期相对较短,结合运营策略及资源经济模型通常采用相对简单的部署架构,少部分大型MMO类手游也会沿用端游部署架构。
  • 客户端通常采用与游戏服务器直连的方式,少部分项目在游戏服务器前端设置网关或采用网关与游戏服务器同机部署的方式,相对依赖单台服务器的CPU处理能力以及网络包的转发能力,单个游戏区通常承载1000~5000玩家在线。
  • 游戏数据库服务器可以采用与游戏服务器1:1的配比关系,也可以采用多区共用的部署方式。
MMO手游衍生架构
关于MMO的手游衍生架构图具体如下所示:

  • 在MMO手游衍生架构中,通过负载均衡及网关服务器将原多台逻辑服务器组建成大服,同服可以承载更多玩家在线,有助于打造玩家生态。
  • 通过网关服务器实现玩家请求调度及连接状态监测。
  • 国战服务器(或PVP战场服务器)计算性能及负载能力相对要求更高,可以采用高配置实例或独享型实例构建,并由网关服务器统一调度管理。

MMO页游集中部署架构

逻辑服务器层和游戏数据库层采用集中部署方式时,具体架构如下所示:



  • 页游整个游戏过程的内容加载依赖CDN,对CDN的稳定性和下载速度有一定的要求。资源加载通常采用大文件资源包分段加载和小文件随时加载2种方式。
  • 页游通常采用快速开服、合服的运营策略,短时间内可能开通上千个游戏区,并随着每个区的活跃玩家降低而陆续的合服,通过自定义镜像加自动开服脚本可以实现快速的创建游戏大区及逻辑服务器。
  • 页游计算复杂度相对端游、手游较轻,单个游戏区对服务器的计算能力和网络吞吐能力没有特殊要求,通常会采用一机多开的方式,会依据计算负载来决定每台服务器开服的数量。

MMO页游分区部署架构

逻辑服务器层和游戏数据库层采用分区部署方式时,具体架构如下所示:

MMO游戏通用技术解决方案

接入层服务器集群弹性扩容&缩容实现
  • 接入层服务器集群借助ESS实现自动扩容及缩容,能够有效的应对开机风暴、国战活动高峰等场景,保障服务器集群资源的负载能力。
  • 登录服务器或有弹性伸缩需求的服务器同样适用此方案。

游戏下载&更新高可用实现—ECS自建源站
  • 通过多级下载重试,保障下载及更新高可用,降低在此环节的玩家流失比例。
  • 通过回源地址与直接对外下载地址分离,规避可能存在的地址暴露安全隐患及SLB不可用情况。
  • 多个源站服务器之间的文件实时同步可以使用rsync+inotify实现。


游戏下载&更新高可用实现—OSS源站
  • 通过多级下载重试,保障下载及更新高可用,降低在此环节的玩家流失比例。
  • 通过回源地址与直接对外下载地址分离,规避可能存在的地址暴露安全隐患。
  • 通过设置OSS作为CDN源站,借助OSS异地自动复制功能,进一步提升源站可用性及吞吐能力。


游戏大文件下载&海外回源实现—OSS源站
  • 通过在国内和海外分别部署源站,保障回源速度和稳定性。
  • 通过OSS跨地域复制实现源站文件自动同步。
  • 通过URL预热功能将大文件预热到L2节点,提高首次下载速度同时降低回源次数。


云产品介绍

ECS产品介绍

云服务器 Elastic Compute Service(ECS)是阿里云提供的一种基础云计算服务。您无需提前采购硬件设备,而是根据业务需要,随时创建所需数量的云服务器实例。使用过程中,随着业务的扩展,您可以对云服务器进行扩容磁盘、增加带宽。如果不需要了,您还可以释放资源,节省费用。

云服务器 ECS 实例是一个虚拟的计算环境,包含了 CPU、内存、操作系统、磁盘、带宽等最基础的服务器组件,是 ECS 提供给每个用户的操作实体。

更多参考云服务器ECS

RDS产品介绍

阿里云关系型数据库(Relational Database Service,简称 RDS)是一种稳定可靠、可弹性伸缩的在线数据库服务。

基于阿里云分布式文件系统和高性能存储,RDS支持MySQL、SQL Server、PostgreSQL 和 PPAS(Postgre Plus Advanced Server,一种高度兼容 Oracle 的数据库)引擎,并且提供了容灾、备份、恢复、监控、迁移等方面的全套解决方案。

更多参考阿里云关系型数据库

Redis产品介绍

云数据库 Redis 版(ApsaraDB for Redis)是兼容开源 Redis 协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。

通过内存+硬盘的存储方式,云数据库 Redis 版在提供高速数据读写能力的同时满足数据持久化需求。

更多参考云数据库 Redis

大数据计算服务

大数据计算服务(MaxCompute,原名ODPS)是一种快速、完全托管的TB/PB级数据仓库解决方案。MaxCompute向用户提供了完善的数据导入方案以及多种经典的分布式计算模型,能够更快速地解决用户海量数据计算问题,有效降低企业成本,并保障数据安全。

MaxCompute 主要服务于批量结构化数据的存储和计算,可以提供海量数据仓库的解决方案以及针对大数据的分析建模服务。

MaxCompute 的目的是为您提供一种便捷的分析处理海量数据的手段,您可以不必关心分布式计算细节,便可达到分析大数据的目的。

MaxCompute 已经在阿里巴巴集团内部得到大规模应用,例如:大型互联网企业的数据仓库和 BI 分析、网站的日志分析、电子商务网站的交易分析、用户特征和兴趣挖掘等。

更多参考大数据计算服务

云监控介绍

云监控(CloudMonitor)是一项针对阿里云资源和互联网应用进行监控的服务。云监控服务可用于收集获取阿里云资源的监控指标,探测互联网服务可用性,以及针对指标设置警报。

更多参考云监控

客户案例

《曙光之战》是由掌游天下自研的一款大型魔幻题材MMORPG手游,以欧式神话作为故事背景,游戏内容的设定十分厚重,坐骑、换装等特色系统基于3D设置,360度自由视角转换。

该游戏通过阿里云提供的上云解决方案形成一套可以有效避免单点故障、支持平滑扩容和支持灵活部署方式的游戏服务器架构。高性能的云服务器(ECS)解决重游戏逻辑对计算能力有较高要求的问题,云数据库(RDS)的只读实例特性有效满足了MMO类型游戏读写分离需求。

总结与展望

MMO类游戏一直是倍受行业关注的游戏产品类型,从原IDC物理机时代到今天的云平台,从原MMO端游发展到后期的手游、页游,众多的技术挑战及创新有待发掘。

本文从MMO类游戏的通用参考架构、MMO端游游戏架构、MMO手游游戏架构以及MMO页游部署架构等多个方面进行了产品架构介绍。同时,针对MMO游戏的通用技术解决方案进行了部分的说明。针对方案中涉及的云产品也进行了简要的阐述。本文虽未能完全涉猎各个场景和细节,希望已有内容能够给客户带来一定的启示。

随着行业和技术的进步,阿里云也在不断打磨各类基础服务、网络服务、安全服务以及大数据服务,持续为客户提供更完整、更稳定、更易用的解决方案。

售前咨询
  • 7×8小时售前咨询电话:95187-1
  • 专业的售前团队已经做好准备,随时为您提供全面的售前服务支持。
  • 您还可以进入阿里云直播问答解决方案进行全方位的咨询和了解。
  • 阿里云专业的售前咨询团队为您提供全方位的购买咨询/配置推荐/价格方案等1对1的贴心服务。