如何使用私有网络部署全球同服游戏服务

孤街浪徒 提交于 2019-12-01 23:11:59

版权声明:本文由吴晓斌原创文章,转载请注明出处: 
文章原文链接:https://www.qcloud.com/community/article/178

来源:腾云阁 https://www.qcloud.com/community

 

近年来,随着移动互联网技术和全球社交化的发展,全球同服的玩法越来越受到游戏玩家的喜爱,最火爆的如《皇室战争》自16年3月份发布来便长期霸榜,支持全球同服的游戏架构在知乎上一度引起热议,面对国内各游戏厂家出海和全球运营需求,腾讯云利用分布在全球的云基础设施和互联的VPC网络为游戏服务的全球部署提供了一套完整解决方案。

通常而言,全球同服的游戏架构都具有以下几个特点:

  • 核心数据集中部署:

用户账号数据、游戏核心数据、排行榜等全局类数据一般集中部署在某个中心节点,确保各地区玩家基础数据能正常交互。

  • 游戏玩家分地域就近接入:

接入服、游戏逻辑服、缓存服可在用户所在地就近接入,不仅提升接入层访问速度,而且非全局类数据可本地存储,减少数据跨地域交互。

  • 各地域之间数据互联:

各地域接入服或游戏逻辑服有时需与全球中心服进行数据交互,如进行跨服战等全球同服玩法,其中这类与中心服交互的数据就可以通过专线来传输,可大大降低网络延迟和丢包率。

部署框架图如下图所示:

腾讯云全球同服解决方案说明:

  • 数据中心遍布全球,数据库集中部署

腾讯云数据中心广布全球,现已在全球范围内开通16大数据中心,覆盖5大洲,游戏数据库中心服可根据业务需要选择部署在腾讯云几大核心机房之一。选择中心服部署的机房一般可从两个方面入手,一是跟产品运营同学确认游戏希望重点覆盖哪个区域的玩家,如欧美还是东南亚地区等,二是对比海外各大IDC的网络质量和覆盖面,选其最优节点进行部署。

下图是全球200多个国家到腾讯云海外IDC的网络质量图(仅供参考)

腾讯云北美IDC

腾讯云香港IDC

基于上述数据,如游戏需重点覆盖欧美玩家,游戏中心服可选择部署在腾讯云北美IDC,如重点覆盖韩日台和部分东南亚用户,则可选择腾讯云香港IDC,如主要覆盖东南亚用户,则可直接选择腾讯云新加坡IDC。

  • 全球分区域接入玩家

因全球200多个国家到游戏中心服网络时延不一,就需要考虑在全球分多个区域就近接入玩家,这可依托腾讯云分布世界各地的IDC就近部署一套接入服务,借助DNSPod云解析智能调度功能实现玩家的就近访问。另外考虑到大部分时间里玩家主要是跟本地域玩家一起游戏,所以玩家数据也可以做分区域缓存,定期回写中心数据库,避免因实时跨地域读取数据导致游戏体验下降。腾讯云在国内拥有北京、上海、广州三大数据中心,在海外还有北美、欧洲、亚太、南美等接入点供业务做分布部署和接入,如业务有使用缓存服务器则可直接选用腾讯云提供的Redis或MongoDB等存储产品,降低业务部署和运维门槛。

这里以广州大区做接入部署为例:

国内玩家通过广州这个接入点就近接入,部署除全局服外一些基础模块,如接入服、游戏逻辑服和缓存类DB等,然后通过专线将广州大区与北美大区的全局服进行互联互通。另外需要注意的是,考虑到运营成本,并不需要每个接入点都部署一套就近接入游戏服,有些地区只需要做搭建一个代理做转发提升接入访问速度即可。

  • 全球网络高速互联

全球同服最大的难点在于如何解决玩家跨服PVP等同服玩法网络延迟高问题,全球有数千家运营商,各运营商网络质量参差不齐,总有用户是跨运营商访问游戏业务,网络质量难以保证,另外一方面是管理原因,导致各运营商之间出口限制较多,从技术角度看,每增加一跳转发,通常网络延迟会多增加几毫秒。为了解决上述网络问题,腾讯云提供以下几种网络优化方案。

1.大区间VPC互联

为了减少游戏接入服到全局中心服之间的时延,腾讯云可通过VPC网络实现各大区之间的专线高速互联,与公网相比大大降低跨区间数据访问的网络时延,而且建立VPC互联的操作非常简单,控制台上仅需两步:

第一步:在腾讯云控制台上创建对等连接;

第二步:在两端设置路由表;

创建成功后可直接在[对等连接]中查看状态

像香港大区与北美大区如果通过VPC网络实现专线互联后,从香港到北美的延迟可控制在200ms左右,基本满足COK、COC类游戏全球同服玩法的需求。

2.海外POP点加速

腾讯云除了提供IDC间专线互联能力外,欧洲、南美、非洲等地还能提供POP点加速方案,减少国际间跨运营商路由转发的次数和规避运营商之间出口限制等问题。如业务集中部署在北美IDC的话,欧洲用户就可以通过腾讯云在欧洲的POP点做最近接入,然后腾讯云会直接将流量通过专线回传至北美IDC,达到网络质量优化的目的。

从欧洲到北美通过pop点加速后,延迟基本控制在100ms以内,如下图所示

总结:

综上所述,部署一款全球同服后台架构的游戏我们可能需要考虑如下几点:

  1. 全局类数据集中部署:游戏账号数据、排行榜等全局类数据可以集中在某个IDC进行存储,如腾讯云北美IDC,基本可覆盖欧美用户。

  2. 全球分区域接入:除中心服外,在全球各主要地区部署一套接入服务,如在腾讯云广州IDC、新加坡IDC和北美IDC分别部署一套接入服,以实现玩家就近访问。其中通过DNSPod智能解析实现玩家就近接入,采用腾讯云LB实现接入层的负载均衡。

  3. 减少跨地域间数据交互:游戏逻辑上尽量控制玩家在同区域内游戏,减少数据的跨区域交互,因此可在每个区域部署一套游戏逻辑服和缓存数据库,缓存服务器或数据库可直接采用腾讯云存储RedisMongoDB,降低开发和运维成本。

  4. 网络质量优化:国家与国家之间可通过腾讯云VPC专线或POP点加速方案实现网络的高速互联,降低各游戏接入服与中心服之间数据交互时延,确保全球同服玩法的最终落地。

未来,随着腾讯云美东、美西、欧洲、日本大区的逐步开放,覆盖全球的腾讯云网络将为您提供更加全面的全球同服基础能力,敬请期待。

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!