解决方案

最近更新时间:2019-05-24 10:22:22

针对行业需求,腾讯云提出了以云计算为基础的 MMO 类游戏解决方案,典型架构如下 :
典型 MMO 游戏架构图

登录服务器

负责验证玩家登录请求,用于玩家登录、排队等功能。登录服务器属于全局类服务,故障对游戏玩家影响比较大,后端服务器采用 云服务器(Cloud Virtual Machine,简称 CVM),接入 负载均衡(Cloud Load Balance,简称 CLB)做高可用。当后端服务器故障时,可被 CLB 自动剔除,同时 CLB 支持会话保持,可根据业务需要开启或关闭此功能,确保客户端与登录服的正常通信。后端 云服务器可搭配 弹性伸缩(Auto Scaling,简称 AS),实现业务自动水平伸缩,有效节省运营成本 。

网关服务器集群

网关服务器即游戏接入服务器,可采用 标准型 CVM 部署,保持与客户端的连接,主要负责客户端与逻辑服之间的通信和加密解密等功能,包括数据包解析、超时处理或部分逻辑处理,可提前过滤一些错误包或非法数据包,增强游戏的安全性。网关服务器建议接入 负载均衡 做高可用,同时可减少外网 IP 暴露在外数量,降低安全防护成本。

游戏逻辑服务器集群

游戏逻辑服务器负责承载游戏场景,负责处理客户端请求及大部分游戏逻辑处理。这些逻辑包括角色在游戏场景中的进入与退出 、角色的行走与战斗等,其他需要跨场景信息支持的部分请求则通过转发到中心服务器来处理,如公会、聊天等。游戏服一般采用多服务器来承载游戏场景,根据不同场景的功能逻辑多少进行分配,同时可根据服务器承载的人数,对游戏服动态的扩展或缩减 。游戏逻辑服一般比较消耗 CPU 和内存,可选用 计算型 CVM 并挂载 SSD 云硬盘 ,应对其大量的逻辑计算需求。另外 为了做到有效的反外挂,游戏逻辑服还承接了数据校验的功能, 每个用户请求都会进行参数有效性检查,包括移动和技能 CD 冷却等,一旦发现玩家位置和后端相差过大,就会通知前端踢人 ,保护游戏的公平性 。

中心服务器

游戏中心服即 World 世界服,主要负责游戏世界全局性的信息,实现需要跨场景信息支持的游戏功能,比如:公会,组队,好友,聊天等逻辑。游戏中心服属于全局类服务,故障影响面广,一般建议采用挂载云盘的高可用 云服务器 并搭建主备双活节点确保业务的稳定性。

数据库服务器

数据库服务器负责存储玩家各类数据,因 MMO 类游戏对游戏数据库读写量大,一般会采用缓存和持久化存储搭配使用。为了后续业务扩展,数据库建议提前做好分库分表,以方便平行扩展。腾讯云目前可提供 MysqlSQLServerRedisMongoDB 等系列数据库,其中 TencentDB for MySQL 最高 QPS 可达到 240000+,轻松应对 MMO 类型的高读写量需求,另外 TencentDB 实时双机热备,秒级切换,可支持 3 日内任意时间点回档,让开发和运维同学不用再担心玩家数据丢失。

跨地域部署

MMO 类游戏对网络延迟要求比较高,中国幅员辽阔、玩家分布较广,可将游戏区服分别部署在腾讯云华北(北京)、华东(上海)、华南(广州)、华西(成都)四大数据中心的 私有网络(Virtual Private Cloud,即 VPC),方便玩家就近接入。各数据中心间建立 VPC 对等连接,将不同地域的云服务器通过高速专线网络进行互联互通。

游戏服务

游戏在开发过程中可选用腾讯云提供的游戏服务降低开发门槛或节省开发人力 。如接入 游戏多媒体引擎 GME 快速实现内置语音,接入 手游测试服务 WeTest 进行客户端兼容性测试,接入 智营网优(Intelligent Network Optimization,简称 INO)优化客户端网络。此外,腾讯云还提供了 小游戏联机对战引擎 MGOBE全球应用加速(Global Application Accelerate Platform,简称 GAAP)等多种游戏服务。

运营平台

腾讯云提供了 大数据处理套件 TBDS弹性 MapReduce数据工坊 TDF 等服务,可帮助开发者从海量数据中快速提取分析出有价值的数据,降低了时间成本,提高了运营效率。借助腾讯云提供的一站式运维解决方案——蓝鲸 BLUEKING,开发者更可实现“运维基础服务”的无人值守及“运维增值服务”,大大提升运维效率。

安全

腾讯云安全主要包括可抵御大流量 DDOS 攻击的 BGP 高防大禹,可防控业务刷量的 天御,保障主机安全的 云镜,以及提供移动安全一站式解决方案的乐固,覆盖了从客户端到网络再到服务器的全链路,为业务的正常运营保驾护航。