版权声明:本文由吴晓斌原创文章,转载请注明出处:
文章原文连接:https://www.qcloud.com/community/article/178html
来源:腾云阁 https://www.qcloud.com/communitymongodb
近年来,随着移动互联网技术和全球社交化的发展,全球同服的玩法愈来愈受到游戏玩家的喜好,最火爆的如《皇室战争》自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之内,以下图所示
综上所述,部署一款全球同服后台架构的游戏咱们可能须要考虑以下几点:
全局类数据集中部署:游戏帐号数据、排行榜等全局类数据能够集中在某个IDC进行存储,如腾讯云北美IDC,基本可覆盖欧美用户。
全球分区域接入:除中心服外,在全球各主要地区部署一套接入服务,如在腾讯云广州IDC、新加坡IDC和北美IDC分别部署一套接入服,以实现玩家就近访问。其中经过DNSPod智能解析实现玩家就近接入,采用腾讯云LB实现接入层的负载均衡。
减小跨地域间数据交互:游戏逻辑上尽可能控制玩家在同区域内游戏,减小数据的跨区域交互,所以可在每一个区域部署一套游戏逻辑服和缓存数据库,缓存服务器或数据库可直接采用腾讯云存储Redis和MongoDB,下降开发和运维成本。
网络质量优化:国家与国家之间可经过腾讯云VPC专线或POP点加速方案实现网络的高速互联,下降各游戏接入服与中心服之间数据交互时延,确保全球同服玩法的最终落地。
将来,随着腾讯云美东、美西、欧洲、日本大区的逐步开放,覆盖全球的腾讯云网络将为您提供更加全面的全球同服基础能力,敬请期待。