《(阿里)游戏行业解决方案:全球同服手游解决方案》由会员分享,可在线阅读,更多相关《(阿里)游戏行业解决方案:全球同服手游解决方案(19页珍藏版)》请在金锄头文库上搜索。
1、全球同服手游解决方案本页目录 行业综述 技术难题 为什么选择阿里云 业务功能架构 全球同服类型游戏加速 方案参考架构 云产品介绍 典型系统设计 客户案例 总结与展望 更多信息行业综述作为当前互联网的热门行业,游戏行业对服务器的稳定性和数据的分析要求都非常高。同时,游戏行业也是所有行业中最敏感的一个行业,即使短暂的延时可能也会严重地影响用户的游戏体验,而一次闪断将会导致所有玩家掉线。所以,游戏行业非常适合通过云上的计算来实现数据的稳定性。同时,作为一个轻资产的运营行业,您无需购买大量的传统服务器,可以完全把业务放到云上来运行。随着游戏行业的不断发展,传统的休闲类、卡牌类等游戏已经开始无法满足玩家
2、对高品质游戏的追求,同时移动终端硬件配置也在飞速提升,满足了许多中重度游戏运行对硬件的要求。经过残酷的市场竞争,端游产品也同步向手游产品领域进军,手游行业开始进入一个稳定发展期。游戏公司纷纷寻求业务创新,国内手游市场逐步细分,手游重度化、VR/AR游戏、经典IP回归,游戏出海和全球同服成为一个亮点。这也标志着云服务未来要承载越来越多此类游戏后端服务器的支撑工作,合理的平台架构将成为系统稳定运行和业务保障的基础。2016年,Supercell推出了全新手游部落冲突:皇室战争。这种全球同服的概念大获成功,国内一部分游戏公司看到这种游戏的潜力,纷纷选择手游出海策略。在国内,中国厂商智明星通开发的CO
3、K列王的纷争也取得了不菲的成绩。受这些游戏的成功因素所影响,紧接着,一大批全球同服的手游相继出现,这也成为游戏公司试水海外市场的突破口。技术难题 游戏架构设计问题全球同服手游的关键在于,不同类型的游戏如何设计和部署游戏接入层、逻辑层和数据层。 网络延迟问题如何让不同国家玩家都能快速顺畅地接入游戏、进行公平PK。网络传输过程中的延迟是一定会发生的,如何减少延迟,以及延迟发生后如何减少客户端的视觉感受。 数据读写问题如何高效读写数据并保持必要的数据一致性。 资源管理问题如何统一、高效地进行游戏运维和资源管理。为什么选择阿里云 资源统一管理面对快速发展的游戏业务,需要高效进行游戏运维和资源管理。o
4、阿里云超大规模数据中心遍布全球。o 统一账号进行游戏运维和资源管理。o 全球统一的售前售后服务体系加本地化服务。 稳定的国际网络连通稳定、低延时的网络是让分布于全球不同国家/地区的玩家能顺畅地体验游戏、并进行公平PK的关键。o 高速通道打通阿里云全球数据中心,形成全球一张网。o 网络质量SLA保障、超低延时。 完善的产品支撑不同的游戏类型需要设计合理的逻辑架构和物理部署方案以满足快速发展的业务需求,需要有成熟的产品体系支撑。o 多种全球同服参考架构和部署方案。o 产品化解决网络延迟和数据同步等技术难点。业务功能架构无论页游、手游还是端游,基本都包含以下的游戏模块或服务,其中主要包括游戏服务器和
5、游戏运营支撑两大部分。全球同服类型游戏加速全球同服类型游戏加速是指游戏服务集中部署在某地域,但在全球各地域部署游戏加速入口,各地域加速入口提供公网访问能力。全球玩家分别从所在地域加速点就近访问游戏服务,中间通过高速通道进行网络包加速,以此达到全球加速的目的。针对全球同服类游戏,目前在业务上的主要痛点在于游戏延迟大导致游戏卡顿、游戏延迟差异大导致游戏不公平。而相应的技术痛点则是第三方专线厂商价格质量参差不齐、全球多地域部署的接入点运维成本大、代理部署复杂,同时需考虑性能及可用性问题。移动加速游戏开发商可能会遇到以下问题: APP启动慢 游戏加载慢 延时高 移动/联通/电信用户互访慢 运营商IP库
6、混乱 用户访问服务失败率高 用户在非WiFi网络环境下服务质量差 丢包率高、域名劫持 交互体验差 不同地域用户体验差异大综上所述,移动加速产品应需而生。移动加速从本质上来看,是解决整条链路上的最后1公里,即从游戏客户端到加速点的加速问题,如下图所示。全球加速针对已提出的全球同服游戏解决方案,客户需要在加速区域所在的阿里云节点手工部署流量加速转发代理,配置工作非常繁复,需要花很多时间进行调试。同时,您还需要考虑代理的高可用、扩容、性能、调度等问题,由此全球加速产品应需而生。全球加速的实现原理是EIP(弹性IP)通过高速通道映射远端VPC下的ECS或者私网SLB实例,实现点到点的加速。全球加速解决
7、了跨区域跨国的网络加速问题,如下图所示。全链路加速将移动加速组合全球加速,从游戏客户端到游戏服务器实现全链路加速。其中移动加速负责游戏客户端到加速点的基于动态路由和协议优化的Internet公网加速,而全球加速负责加速点到游戏服务器所在区域的专线加速。具体如下图所示。方案参考架构经过市场调研,以及与客户方的全方位深入交流,加之本身对游戏架构的研究,目前主要总结出了以下4种全球同服游戏参考架构。全集中部署目前针对全球同服类型游戏,全集中部署是针对网络延迟不敏感游戏的主要架构选择。该架构下游戏的接入层、逻辑层和数据层全部集中部署到某一区域,全球所有玩家均通过Internet公网接入游戏。具体部署架
8、构图如下所示。说明建议选择计算型实例规格族c5。该规格族对网络延时不敏感,可基本覆盖游戏服务业务。适用场景该架构适用于重点覆盖某区域的玩家,实现真正的全球玩家同服,且所设计的游戏玩法对网络延迟不敏感。此种游戏的服务器架构在设计初期不适合作分布式部署,如在逻辑架构里未设置数据同步机制,因此在游戏上线时只能选择全集中部署。架构优缺点 架构优点:o 部署简单。o 主要覆盖区域的玩家游戏体验较好。o 没有数据一致性问题。 架构缺点:无法实现所有玩家就近接入。集中部署与优化网络该架构中游戏的接入层、逻辑层和数据层将集中部署到某一区域,然后在游戏所需覆盖区域的阿里云节点部署全球加速。通过智能DNS进行调度
9、后,各区域玩家实行自动地就近接入,游戏服务与各接入点通过阿里云的高速通道进行内网互连。具体的部署架构图如下所示。说明建议采用计算网络增强型实例规格族sn1ne,该实例规格是网络增强型,可以满足架构对延时的需求。适用场景适用于游戏服务器架构不适合作分布式部署,而运营发行方又想覆盖尽量多的区域,同时游戏网络延迟需要在200ms以内的游戏。架构优缺点 架构优点:o 部署简单。o 可以实现网络加速。o 没有数据一致性问题。 架构缺点:延迟固定(固定延迟差异对于某些类型游戏来说会带来玩法上的公平性,需要采用帧同步等方法来消除延迟差异。)数据集中与逻辑分布该架构中数据层集中部署到某一机房,然后在全球其他所
10、需覆盖的区域分别部署一套游戏的接入层、逻辑层和缓存层。详细分布架构图如下所示。说明建议采用以下2种实例规格族: 内存网络增强型实例规格族se1ne,具有高网络收发包能力,同时属于网络增强型,有很高的PPS。 高主频计算型实例规格族 hfc5,适用于MMO游戏,具备高主频规格。适用场景适用于游戏玩法上尽量是同区域玩家间互动,并且对网络延迟要求较高(如120ms以下,人的肉眼一般最小可感知延迟是120ms)的游戏类型,如动作类游戏,希望全球各区域都同等覆盖。架构优缺点 架构优点:o 玩家可就近接入。o 游戏逻辑就近计算(本地缓存服的数据同步机制:玩家退出时实时回写数据库和每5秒回写100条脏数据)
11、。o 基本不存在数据一致性问题。o 灵活调整分布式节点。 架构缺点:o 需要多区域部署。o 跨区域玩家互动时会有一方玩家网络延迟变大(会有专题方案解决延迟差异问题)。o 需要有完善的脏数据回写机制以保证数据一致性。关键设计说明下面对数据集中、逻辑分布架构的一些关键设计点进行详细的说明。 关键点1:游戏数据库集中部署全球同服类型的游戏,任意玩家之间会有玩法交互,玩家游戏数据、游戏账号数据和全局类游戏数据(如排行榜),都需要在某IDC集中部署。玩家游戏数据读写频率较高且单条记录较大,所以最好采用分布式存储架构,比如使用阿里云DRDS和RDS产品进行分库分表,避免数据库单实例的性能瓶颈。 关键点2:
12、全球分区域接入玩家由于此类游戏是面向全球玩家提供服务,其他国家到中国内地的网络情况参差不齐,所以需要在全球分多个区域进行玩家的就近接入。比如依据阿里云的数据中心分布情况,接入点可分为华南、华北、东南亚、欧洲和北美,可在华东2、华北2、新加坡、德国和美东地域分别部署一套接入服务。 关键点3:玩家数据分区域缓存,定期回写中心数据库各区域内玩家间在一起游戏,为了避免远程读取数据的网络延迟降低游戏体验,玩家数据也需要分区域缓存,并分批定期回写中心数据库,这样各区域游戏逻辑服只需在玩家登录时远程读取一次数据,此后只需快速从缓存服读取玩家数据即可。比如缓存可以使用阿里云Redis产品,既可以做缓存也可以做
13、持久化,即使专线链路不可用,也不会丢失数据。 关键点4:智能DNS实现就近接入对于全球玩家接入游戏时最好借助智能DNS服务来自动实现调度,也可以自建调度服务,调度玩家时需要根据玩家所在位置将同区域玩家调度到同一接入点,如果是基于匹配的玩法,需要在匹配算法中考虑玩家所在位置。 关键点5:尽量控制同区域玩家间可战斗由于每个区域都部署游戏逻辑服,也缓存对应区域玩家的数据,所以尽量从后端控制只让同区域玩家可互相PK。 关键点6:全局数据集中存储由于需要汇总所有区域的数据来生成像排行榜之类的全局数据,所以这部分数据也需要集中存储,每个区域可以定期来拉取需要的全局数据(需要根据排行榜生成的周期来设定拉取数
14、据的时间间隔),但是在拉取到最新数据之前,本地缓存的上一版数据暂时不能删除,生成全局数据的相应服务也集中部署。 关键点7:玩家跨区域接入由于有可能出现玩家连续2次登录不同区域,所以每次玩家登录都需要检查其本地登录接入点和上次登录接入点是否相同,如果不同,需要先到上次接入点对应缓存将其数据回写数据库,然后再允许玩家在新接入点登录,防止出现数据不一致情况。全分布式部署该架构中的游戏逻辑和游戏数据都是分布式部署的,只有全局类的游戏和数据是集中部署。读写不频繁,对网络延迟要求不高。具体部署架构图如下所示。说明建议采用以下3种实例规格族: 高主频计算型cm4,全分布式对于网络、计算、内存资源要求更高;
15、内存网络增强型实例规格族se1ne,具有很强的网络收发包能力。 通用型实例规格族g5,具有分布式缓存的功能,同时各资源配比相对均衡。适用场景适用于对网络延迟要求较高的游戏类型,不同区域间玩家有较多互动,希望全球各区域都同等覆盖,游戏架构中有完善的数据同步机制。架构优缺点 架构优点:o 玩家可就近接入。o 游戏逻辑就近计算。o 游戏逻辑层完全无状态化设计。o 数据读写速度快。 架构缺点:o 需要多区域部署。o 不同区域间会有较多数据同步。关键设计说明下面对全分布式架构的一些关键设计点进行详细的说明。 关键点1:全局数据集中存储由于需要汇总所有区域的数据来生成像排行榜之类的全局数据,所以这部分数据也需要集中存储,每个区域可以定期来拉取需要的全局数据(需要根据排行榜生成的周期来设定拉取数据的时间间隔),但是在拉取到最新数据之前,本地缓存的上一版数据暂时不能删除,生成全局数据的相应服务也集中部署。 关键点2:全球分区域接入玩家由于这类游戏是面向全球玩家提供服务