全球同服手游解决方案

  • A+
所属分类:解决方案

行业综述

作为当前互联网的热门行业,游戏行业对服务器的稳定性和数据的分析要求都非常高。同时,游戏行业也是所有行业中最敏感的一个行业,即使短暂的延时可能也会严重地影响用户的游戏体验,而一次闪断将会导致所有玩家掉线。所以,游戏行业非常适合通过云上的计算来实现数据的稳定性。同时,作为一个轻资产的运营行业,您无需购买大量的传统服务器,可以完全把业务放到云上来运行。

随着游戏行业的不断发展,传统的休闲类、卡牌类等游戏已经开始无法满足玩家对高品质游戏的追求,同时移动终端硬件配置也在飞速提升,满足了许多中重度游戏运行对硬件的要求。经过残酷的市场竞争,端游产品也同步向手游产品领域进军,手游行业开始进入一个稳定发展期。

游戏公司纷纷寻求业务创新,国内手游市场逐步细分,手游重度化、VR/AR游戏、经典IP回归,游戏出海和全球同服成为一个亮点。这也标志着云服务未来要承载越来越多此类游戏后端服务器的支撑工作,合理的平台架构将成为系统稳定运行和业务保障的基础。

2016年,Supercell推出了全新手游《部落冲突:皇室战争》。这种全球同服的概念大获成功,国内一部分游戏公司看到这种游戏的潜力,纷纷选择手游出海策略。在国内,中国厂商智明星通开发的《COK列王的纷争》也取得了不菲的成绩。受这些游戏的成功因素所影响,紧接着,一大批全球同服的手游相继出现,这也成为游戏公司试水海外市场的突破口。

技术难题

  • 游戏架构设计问题
  • 全球同服手游的关键在于,不同类型的游戏如何设计和部署游戏接入层、逻辑层和数据层。
  • 网络延迟问题
  • 如何让不同国家玩家都能快速顺畅地接入游戏、进行公平PK。网络传输过程中的延迟是一定会发生的,如何减少延迟,以及延迟发生后如何减少客户端的视觉感受。
  • 数据读写问题
  • 如何高效读写数据并保持必要的数据一致性。
  • 资源管理问题
  • 如何统一、高效地进行游戏运维和资源管理。

为什么选择阿里云

  • 资源统一管理
    • 阿里云超大规模数据中心遍布全球。
    • 统一账号进行游戏运维和资源管理。
    • 全球统一的售前售后服务体系加本地化服务。
  • 面对快速发展的游戏业务,需要高效进行游戏运维和资源管理。
  • 稳定的国际网络连通
    • 高速通道打通阿里云全球数据中心,形成全球一张网。
    • 网络质量SLA保障、超低延时。
  • 稳定、低延时的网络是让分布于全球不同国家/地区的玩家能顺畅地体验游戏、并进行公平PK的关键。
  • 完善的产品支撑
    • 多种全球同服参考架构和部署方案。
    • 产品化解决网络延迟和数据同步等技术难点。
  • 不同的游戏类型需要设计合理的逻辑架构和物理部署方案以满足快速发展的业务需求,需要有成熟的产品体系支撑。

业务功能架构

无论页游、手游还是端游,基本都包含以下的游戏模块或服务,其中主要包括游戏服务器和游戏运营支撑两大部分。

全球同服类型游戏加速

全球同服类型游戏加速是指游戏服务集中部署在某地域,但在全球各地域部署游戏加速入口,各地域加速入口提供公网访问能力。全球玩家分别从所在地域加速点就近访问游戏服务,中间通过高速通道进行网络包加速,以此达到全球加速的目的。

针对全球同服类游戏,目前在业务上的主要痛点在于游戏延迟大导致游戏卡顿、游戏延迟差异大导致游戏不公平。而相应的技术痛点则是第三方专线厂商价格质量参差不齐、全球多地域部署的接入点运维成本大、代理部署复杂,同时需考虑性能及可用性问题。

移动加速

游戏开发商可能会遇到以下问题:

  • APP启动慢
  • 游戏加载慢
  • 延时高
  • 移动/联通/电信用户互访慢
  • 运营商IP库混乱
  • 用户访问服务失败率高
  • 用户在非WiFi网络环境下服务质量差
  • 丢包率高、域名劫持
  • 交互体验差
  • 不同地域用户体验差异大

综上所述,移动加速产品应需而生。移动加速从本质上来看,是解决整条链路上的最后1公里,即从游戏客户端到加速点的加速问题,如下图所示。

全球加速

针对已提出的全球同服游戏解决方案,客户需要在加速区域所在的阿里云节点手工部署流量加速转发代理,配置工作非常繁复,需要花很多时间进行调试。同时,您还需要考虑代理的高可用、扩容、性能、调度等问题,由此全球加速产品应需而生。

全球加速的实现原理是EIP(弹性IP)通过高速通道映射远端VPC下的ECS或者私网SLB实例,实现点到点的加速。全球加速解决了跨区域跨国的网络加速问题,如下图所示。

全链路加速

将移动加速组合全球加速,从游戏客户端到游戏服务器实现全链路加速。其中移动加速负责游戏客户端到加速点的基于动态路由和协议优化的Internet公网加速,而全球加速负责加速点到游戏服务器所在区域的专线加速。具体如下图所示。

方案参考架构

经过市场调研,以及与客户方的全方位深入交流,加之本身对游戏架构的研究,目前主要总结出了以下4种全球同服游戏参考架构。

全集中部署

目前针对全球同服类型游戏,全集中部署是针对网络延迟不敏感游戏的主要架构选择。该架构下游戏的接入层、逻辑层和数据层全部集中部署到某一区域,全球所有玩家均通过Internet公网接入游戏。具体部署架构图如下所示。

说明:建议选择计算型实例规格族c5。该规格族对网络延时不敏感,可基本覆盖游戏服务业务。

适用场景

该架构适用于重点覆盖某区域的玩家,实现真正的全球玩家同服,且所设计的游戏玩法对网络延迟不敏感。此种游戏的服务器架构在设计初期不适合作分布式部署,如在逻辑架构里未设置数据同步机制,因此在游戏上线时只能选择全集中部署。

架构优缺点

  • 架构优点:
    • 部署简单。
    • 主要覆盖区域的玩家游戏体验较好。
    • 没有数据一致性问题。
  • 架构缺点:
  • 无法实现所有玩家就近接入。

集中部署与优化网络

该架构中游戏的接入层、逻辑层和数据层将集中部署到某一区域,然后在游戏所需覆盖区域的阿里云节点部署全球加速。通过智能DNS进行调度后,各区域玩家实行自动地就近接入,游戏服务与各接入点通过阿里云的高速通道进行内网互连。具体的部署架构图如下所示。

说明:建议采用计算网络增强型实例规格族sn1ne,该实例规格是网络增强型,可以满足架构对延时的需求。

适用场景

适用于游戏服务器架构不适合作分布式部署,而运营发行方又想覆盖尽量多的区域,同时游戏网络延迟需要在200ms以内的游戏。

架构优缺点

  • 架构优点:
    • 部署简单。
    • 可以实现网络加速。
    • 没有数据一致性问题。
  • 架构缺点:
  • 延迟固定(固定延迟差异对于某些类型游戏来说会带来玩法上的公平性,需要采用帧同步等方法来消除延迟差异。)

数据集中与逻辑分布

该架构中数据层集中部署到某一机房,然后在全球其他所需覆盖的区域分别部署一套游戏的接入层、逻辑层和缓存层。详细分布架构图如下所示。

说明:建议采用以下2种实例规格族:

适用场景

适用于游戏玩法上尽量是同区域玩家间互动,并且对网络延迟要求较高(如120ms以下,人的肉眼一般最小可感知延迟是120ms)的游戏类型,如动作类游戏,希望全球各区域都同等覆盖。

架构优缺点

  • 架构优点:
    • 玩家可就近接入。
    • 游戏逻辑就近计算(本地缓存服的数据同步机制:玩家退出时实时回写数据库和每5秒回写100条脏数据)。
    • 基本不存在数据一致性问题。
    • 灵活调整分布式节点。
  • 架构缺点:
    • 需要多区域部署。
    • 跨区域玩家互动时会有一方玩家网络延迟变大(会有专题方案解决延迟差异问题)。
    • 需要有完善的脏数据回写机制以保证数据一致性。

关键设计说明

下面对数据集中、逻辑分布架构的一些关键设计点进行详细的说明。

  • 关键点1:游戏数据库集中部署玩家游戏数据读写频率较高且单条记录较大,所以最好采用分布式存储架构,比如使用阿里云DRDS和RDS产品进行分库分表,避免数据库单实例的性能瓶颈。
  • 全球同服类型的游戏,任意玩家之间会有玩法交互,玩家游戏数据、游戏账号数据和全局类游戏数据(如排行榜),都需要在某IDC集中部署。
  • 关键点2:全球分区域接入玩家比如依据阿里云的数据中心分布情况,接入点可分为华南、华北、东南亚、欧洲和北美,可在华东2、华北2、新加坡、德国和美东地域分别部署一套接入服务。
  • 由于此类游戏是面向全球玩家提供服务,其他国家到中国大陆的网络情况参差不齐,所以需要在全球分多个区域进行玩家的就近接入。
  • 关键点3:玩家数据分区域缓存,定期回写中心数据库比如缓存可以使用阿里云Redis产品,既可以做缓存也可以做持久化,即使专线链路不可用,也不会丢失数据。
  • 各区域内玩家间在一起游戏,为了避免远程读取数据的网络延迟降低游戏体验,玩家数据也需要分区域缓存,并分批定期回写中心数据库,这样各区域游戏逻辑服只需在玩家登录时远程读取一次数据,此后只需快速从缓存服读取玩家数据即可。
  • 关键点4:智能DNS实现就近接入
  • 对于全球玩家接入游戏时最好借助智能DNS服务来自动实现调度,也可以自建调度服务,调度玩家时需要根据玩家所在位置将同区域玩家调度到同一接入点,如果是基于匹配的玩法,需要在匹配算法中考虑玩家所在位置。
  • 关键点5:尽量控制同区域玩家间可战斗
  • 由于每个区域都部署游戏逻辑服,也缓存对应区域玩家的数据,所以尽量从后端控制只让同区域玩家可互相PK。
  • 关键点6:全局数据集中存储
  • 由于需要汇总所有区域的数据来生成像排行榜之类的全局数据,所以这部分数据也需要集中存储,每个区域可以定期来拉取需要的全局数据(需要根据排行榜生成的周期来设定拉取数据的时间间隔),但是在拉取到最新数据之前,本地缓存的上一版数据暂时不能删除,生成全局数据的相应服务也集中部署。
  • 关键点7:玩家跨区域接入
  • 由于有可能出现玩家连续2次登录不同区域,所以每次玩家登录都需要检查其本地登录接入点和上次登录接入点是否相同,如果不同,需要先到上次接入点对应缓存将其数据回写数据库,然后再允许玩家在新接入点登录,防止出现数据不一致情况。

全分布式部署

该架构中的游戏逻辑和游戏数据都是分布式部署的,只有全局类的游戏和数据是集中部署。读写不频繁,对网络延迟要求不高。具体部署架构图如下所示。

说明:建议采用以下3种实例规格族:

适用场景

适用于对网络延迟要求较高的游戏类型,不同区域间玩家有较多互动,希望全球各区域都同等覆盖,游戏架构中有完善的数据同步机制。

架构优缺点

  • 架构优点:
    • 玩家可就近接入。
    • 游戏逻辑就近计算。
    • 游戏逻辑层完全无状态化设计。
    • 数据读写速度快。
  • 架构缺点:
    • 需要多区域部署。
    • 不同区域间会有较多数据同步。

关键设计说明

下面对全分布式架构的一些关键设计点进行详细的说明。

  • 关键点1:全局数据集中存储
  • 由于需要汇总所有区域的数据来生成像排行榜之类的全局数据,所以这部分数据也需要集中存储,每个区域可以定期来拉取需要的全局数据(需要根据排行榜生成的周期来设定拉取数据的时间间隔),但是在拉取到最新数据之前,本地缓存的上一版数据暂时不能删除,生成全局数据的相应服务也集中部署。
  • 关键点2:全球分区域接入玩家
  • 由于这类游戏是面向全球玩家提供服务,其他国家到中国大陆的网络情况参差不齐,所以需要在全球分多个区域进行玩家的就近接入,比如依据阿里云的数据中心分布情况,接入点可分为中国南方、中国北方、东南亚、欧洲和北美,可在华东2、华北2、新加坡、德国和美东地域分别部署一套接入服务。
  • 关键点3:智能DNS实现就近接入
  • 对于全球玩家接入游戏时最好借助智能DNS服务来自动实现调度,也可以自建调度服务,调度玩家时需要根据玩家所在位置将同区域玩家调度到同一接入点,如果是基于匹配的玩法,需要在匹配算法中考虑玩家所在位置。
  • 关键点4:游戏数据库实时同步
  • 此架构允许不同区域玩家可跨服游戏,所以需要在不同区域的游戏数据库间进行数据同步,可使用阿里云DTS进行数据实时同步,也可在玩家跨服务器时被动迁移数据,关于此方案中数据同步的详细方案后续会有专题方案。

云产品介绍

ECS产品介绍

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

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

产品优势

与普通的IDC机房或服务器厂商相比,阿里云提供的云服务器ECS具有高可用性、安全性以及弹性。

高可用性

相较于普通的IDC机房以及服务器厂商,阿里云会使用更严格的IDC标准、服务器准入标准以及运维标准,以保证云计算整个基础框架的高可用性、数据的可靠性以及云服务器的高可用性。

在此基础之上,阿里云所提供的每个地域都存在多可用区。当您需要更高的可用性时,可以利用阿里云的多可用区搭建自己的主备服务或者双活服务。

对于面向金融领域的两地三中心的解决方案,您也可以通过多地域和多可用区搭建出更高的可用性服务。其中包括容灾、备份等服务,阿里云都有非常成熟的解决方案。

在阿里云的整个框架下,这些服务可以非常平滑地进行切换。无论是两地三中心,还是电子商务以及视频服务等,都可以在阿里云找到对应的行业解决方案。

此外,阿里云为您提供了如下3项支持:

  • 提升可用性的产品和服务,包括云服务器、负载均衡、多备份数据库服务以及数据迁移服务DTS等。
  • 行业合作伙伴以及生态合作伙伴,帮助您完成更高、更稳定的架构,并且保证服务的永续性。
  • 多种多样的培训服务,让您从业务端到底层的基础服务端,在整条链路上实现高可用。
安全性

选择了云计算,最关心的问题就是云计算的安全与稳定。阿里云近期通过了很多的国际安全标准认证,包括ISO27001、MTCS等,这些所有的安全合规都要求对于用户数据的私密性、用户信息的私密性以及用户隐私的保护都有非常严格的要求。

  • 在阿里云专有网络之上,可以产生更多的业务可能性。您只需进行简单配置,就可在自己的业务环境下,与全球所有机房进行串接,从而提高了业务的灵活性、稳定性以及业务的可发展性。
  • 对于原来拥有自建的IDC机房,也不会产生问题。阿里云专有网络可以拉专线到原有的IDC机房,形成混合云的架构。结合阿里云的生态,您可以在云上发展出意想不到的业务生态。
  • 阿里云专有网络更加稳定和安全,详情如下:
    • 稳定性:业务搭建在专有网络上,而网络的基础设施将会不停进化,使您每天都拥有更新的网络架构以及更新的网络功能。专有网络允许您自由地分割、配置和管理自己的网络。
    • 安全性:面对互联网上不断的攻击流量,专有网络天然就具备流量隔离以及攻击隔离的功能。业务搭建在专有网络上后,专有网络会为业务筑起第一道防线。
弹性

目前,阿里云已拥有在数分钟内开出一家中型互联网公司所需要的IT资源的能力,这就能够保证大部分企业在云上所构建的业务都能够承受巨大的业务量压力。

  • 计算的弹性
  • 纵向的弹性,即单个服务器的配置变更。对于阿里云,当您购买了云服务器或者存储的容量后,可以根据业务量的增长或者减少自由变更自己的配置。
  • 横向的弹性
  • 对于游戏应用或直播平台出现的高峰期,若在传统的IDC模式下,您根本无法立即准备资源;而云计算却可以使用弹性的方式帮助客户度过这样的高峰。当业务高峰消失时,您可以将多余的资源释放掉,以减少业务成本的开支。
  • 存储弹性
  • 当存储量增多时,对于传统的IDC方案,您只能不断去增加服务器,而这样扩展的服务器数量是有限的。在云计算模式下,将为您提供海量的存储,当您需要时可以直接购买,为存储提供最大保障。
  • 网络弹性
  • 若您购买了阿里云的专有网络,所有的网络配置与线下IDC机房配置可以是完全相同的,并且可以拥有更多的可能性。可以实现各个机房之间的互联互通,各个机房之间的安全域隔离,对于专有网络内所有的网络配置和规划都会非常灵活。

产品规格族

实例作为提供计算服务的最小单位,是以一定的规格来为您提供相应的计算能力的。

注意:各个地域可供售卖的实例规格不一定完全相同,请以实际实例售卖页上的信息为准。

根据业务场景和使用场景,ECS 实例可以分为多种规格族。同一个规格族里,根据 CPU 和内存的配置,可以分为多种不同的规格。ECS 实例只有同时配合磁盘、镜像和网络类型,才能唯一确定一台实例的具体服务形态。

RDS产品介绍

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

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

产品优势

  • 在源码底层做了改进,使数据库的性能提升了3倍。RDS提供了性能监控、异地容灾、主备库故障切换、数据备份与恢复等功能,保障了云数据库的安全性、稳定性和可靠性。
  • RDS便宜易用、可弹性伸缩,您不必购买硬件,不需安装软件,只要根据业务需求购买实例即可。同时,您也不必担心硬件规划问题,可根据业务压力随时调整RDS实例的规格和容量。
  • RDS支持全量数据热迁移,在不影响业务的前提下,可将业务平滑迁移至云上。
  • RDS通过自动化运维管理,可以简化繁琐的运维工作,节省人力成本,让您更专注于业务的发展。

功能特性

读写分离

关于读写分离的具体实现,详情如下图所示。

  • 开通只读实例后,即可免费开通读写分离功能。
  • 读写分离可提供实时健康检查、自定义读权重分配等功能,可用性可达99.95%。
  • 开通读写分离功能后,实例中会存在三类连接地址:主实例的连接地址、只读实例的连接地址、读写分离地址。
异地容灾

数据库支持创建异地容灾实例,用户可以通过创建异地容灾实例来抵御多可用区级别的故障。

另外,用户通过DTS数据传输服务,可以将自建机房的数据库实时同步到阿里云数据库上任一地域的RDS实例里面。即使发生机房损毁的灾难,数据永远在阿里云数据库上有一个备份。

大数据分析

大数据计算服务(MaxCompute,原ODPS)是一项大数据计算服务,它能提供快速、完全托管的PB级数据仓库解决方案,使您可以经济并高效地分析处理海量数据。

通过数据集成服务,可将RDS数据导入MaxCompute,实现大规模的数据计算,如下图所示。

开放搜索

开放搜索服务(OpenSearch)是一款结构化数据搜索托管服务,为移动应用开发者和网站站长提供简单、高效、稳定、低成本和可扩展的搜索解决方案。 通过 OpenSearch 自带功能,可将 RDS 中的数据自动同步至 OpenSearch 实现各类复杂搜索。

数据多样化存储

RDS支持搭配云数据库Memcache、云数据库Redis和对象存储OSS等存储产品使用,实现多样化存储扩展。

  • 缓存数据持久化与RDS相比,云数据库缓存产品有2个特性:
    • 响应速度快,云数据库Memcache和云数据库Redis请求的时延通常在几毫秒以内。
    • 缓存区能够支持比RDS更高的QPS(每秒处理请求数)。
  • RDS可以搭配云数据库Memcache和云数据库Redis使用,组成高吞吐、低延迟的存储解决方案。
  • 多结构数据存储

OSS是阿里云对外提供的海量、安全、低成本、高可靠的云存储服务。RDS可以和OSS搭配使用,组成多类型数据存储解决方案。

Redis产品介绍

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

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

产品优势

  • 性能卓越
  • 集群功能支持超大容量,超高性能。支持集群功能,提供128 GB 及以上集群实例规格,可满足大容量和高性能需求。提供 64 GB 及以下的主-从双节点实例,满足一般用户的容量和性能需求。
  • 弹性扩容
    • 存储容量一键扩容:用户可根据业务需求通过控制台对实例存储容量进行调整。
    • 在线扩容不中断服务:调整实例存储容量可在线进行,无需停止服务,不影响用户自身业务。
  • 数据安全
    • 数据持久化存储:内存+硬盘的存储方式,在提供高速数据读写能力的同时满足数据持久化需求。
    • 数据主从双备份:所有数据在主从节点上进行双备份。支持密码认证方式以确保访问安全可靠。
  • 高可用
  • 双副本与集群版实例均有主从双节点,避免单点故障引起的服务中断。硬件故障自动检测与恢复:自动侦测硬件故障并在数秒内切换,恢复服务。实例级别的资源隔离可以更好地保障单个用户服务的稳定性。
  • 秒级别监控
  • 提供秒级别实时监控,分钟级别历史监控。提供各数据结构和接口的监控信息,访问情况一目了然,便于用户对云数据库 Redis 版的使用情况有充分的了解。
  • 简单易用
    • 服务开箱即用:支持即开即用的方式,购买之后即可使用,方便业务快速部署。
    • 兼容开源 Redis:兼容 Redis 命令,任何 Redis 客户端都可以轻松与云数据库 Redis 版建立连接进行数据操作。
    • 可视化的管理监控面板:控制台提供多项监控统计信息,方便用户对Redis 实例进行管理。

游戏行业应用

游戏行业可以选择云数据库 Redis 版作为重要的部署架构组件。

  • 场景一 Redis 作为存储数据库使用
  • 游戏部署架构相对简单,主程序部署在 ECS 上,所有业务数据存储在 Redis 中,作为持久化数据库。云数据库 Redis 版支持持久化功能,主备双机冗余数据存储。
  • 场景二 Redis 作为缓存加速应用访问云数据库 Redis 版提供双机热备的高可用架构,保障极高的服务可靠性。主节点对外提供服务,当主节点出现故障,系统自动切换备用节点接管服务,整个切换过程对用户全部透明。
  • Redis 作为缓存层,加速应用访问。数据存储在后端的数据库中(RDS)。

高速通道

阿里云高速通道( Express Connect )服务,帮助您在VPC间,VPC与自有数据中心间搭建私网通信通道,提高网络拓扑的灵活性和跨网络通信的质量和安全性。

使用高速通道可以使您避免绕行公网带来的网络质量不稳定问题,同时可以免去数据在传输过程中被窃取的风险。

  • VPC间内网通信

高速通道支持位于相同地域或不同地域,同一账号或不同账号的VPC之间进行内网互通。阿里云通过在两侧VPC的路由器上分别创建虚拟路由器接口,以及自有的骨干传输网络来搭建高速通道,轻松实现两个VPC之间安全可靠,方便快捷的通信。

  • 物理数据中心和阿里云上VPC间内网通信

您可以通过物理专线在物理层面上连接用户的数据中心到阿里云,然后建立虚拟边界路由器和虚拟路由器接口来连接数据中心与阿里云VPC。

基础架构

基于软件自定义网络(Software Defined Network,简称SDN)架构下的三层overlay技术和交换机虚拟化技术,阿里云将客户的物理专线接入的端口隔离起来,并抽象成边界路由器。

通过目前主流的隧道技术,阿里云将客户的数据包在交换机内部进行封装,在用户的物理专线和VPC的路由器之间加上隧道封装,然后将数据传输到VPC内。

使用高速通道和使用公网的区别

比较点 使用公网 使用高速通道
通信质量与可用性 远距离公网通信质量受各种因素影响,时延稳定性、丢包率难以保证。 阿里云优质基础设施为更好的链路质量和可用性提供保障:

  • 保证时延抖动不超过20%
  • 保证封包成功率不低于99.8%
  • 可用性不低于99.95 %
  • 丢包率低于0.2%
成本 使用公网进行通信需要支付昂贵的公网流量费用或者带宽费用。 带宽免费提供,虚拟设备按需购买,价格亲民。
安全性 通过公网传输存在被监听窃取的风险。 基于阿里云虚拟网络技术实现,不同通信链路相互隔离,安全性高。

产品优势

  • 高速互通 依靠阿里云的网络虚拟化技术,可以将不同网络环境连通,两侧直接进行内网通信,不再需要绕行公网。即使两侧远隔千里,也可以享受到内网通信一般的低延迟和高带宽。
  • 稳定可靠 阿里云高速通道产品依托阿里巴巴集团优质基础设施实现,保障您的网络间通信稳定可靠。
  • 安全 高速通道在网络虚拟化层进行网络间连通,所有通信数据在阿里巴巴自建设施中传输,保证不经公网且多租户互相隔离,让您的私密数据免去传输过程中被窃取的风险。
  • 拓扑灵活 无论是多中心部署、还是物理机房与云上资源组成融合网络、或是使用多条专线进行容灾,高速通道提供的灵活网络拓扑能力都能轻松实现。
  • 简单易用 高速通道的产品简明易用,几个简单的操作就能取代物理世界中复杂的网络配置。同时,您可以完全掌控高速通道的通信带宽、工作状态、两侧网络的路由配置,所见即所得。
  • 按需购买 规格配置丰富,不同规格提供不同的数据传输速度。您可以根据您的业务需求按需购买,成本可控。

全球加速

全球加速(Global Acceleration)是一款网络加速产品。依托阿里巴巴全球基础网络,帮助您实现全球范围内的就近接入,减少延迟、抖动、丢包等网络问题对服务质量的影响,提升服务在全球范围的访问体验。全球加速的远端仅需全球加速GA公网IP入口,后端是同一游戏服务器,真正实现了全球同服架构。

云解析

阿里云解析作为云计算服务的入口,将逐步与阿里云已有云产品进行融合打通,成为云产品大家庭中不可或缺的一份子,ECS、RDS、CDN、SLB等为用户提供高效可靠的计算、存储、网站加速和负载均衡服务。阿里云解析则提供强大稳定的解析调度入口,确保用户能有顺畅的访问体验,并为用户提供一站式的服务体验。

产品优势

  • 独享 DNS 服务器集群
    • 独立研发的高性能 DNS 内核,解析速度及处理能力大幅度提升,比传统DNS解析超上千倍
    • 独享 DNS 服务器,付费用户专属使用。
    • 独享阿里云贵宾用户专属的运维和安防团队维护服务。
  • 最高 100% SLA 的稳定运行保障
  • 最高承诺 DNS 服务器永不宕机,全年任意时刻使用。
  • 阿里云DNS攻击防护
  • 具备防御超大流量的 DDOS 攻击和 DNSQuery 查询攻击的高防护能力,实时监测并抵御 DNS 攻击。
  • 极速,解析实时生效
  • 可智能化自定义设置最小 TTL 值,首创解析秒生效技术,1秒内便能将解析记录同步到阿里云解析的所有节点服务器。
  • 平滑切换无感知
  • 域名添加成功后,即可预设解析记录,一旦 DNS 更换生效,解析服务平滑切换,访问体验不中断。 负载均衡、URL 转发、搜索引擎线路、套餐更换域名等。 完善的解析管理工具,使用户登录阿里云解析就可以方便地自行添加、修改、删除各域名记录,包括域名 A、CNAME、MX、AAAA、SRV、TXT、NS 等记录。

此外还提供稳定可靠的 URL 转发服务、按需自由定义 TTL、支持中文域名解析、支持泛域名解析、支持子域名解析等功能。

应用场景

阿里云解析还可以和阿里云的其他云产品配合使用,以快速支持这些云产品解析记录设置的生效。

  • 内容分发网络CDN/开发存储服务OSS:DNS与CDN和 OSS 通过 API 打通,支持域名加速时产生的 CNAME 记录的同步设置。
  • 云盾-Web漏洞检测:DNS和Web漏洞检测结合,可以扫描解析记录对应的网站漏洞。
  • 云盾-DDos服务:DNS和DDos高防服务结合,同步高防解析记录的设置。
  • 云盾-安骑士服务:DNS和安骑士结合,可以检测解析记录对应的安骑士服务的状态。
  • 云邮箱服务:DNS和云邮箱服务结合,可以便捷地帮助用户设置常用云邮箱的解析记录。
  • 云主机:DNS 和云主机结合,可以便捷地帮助用户设置主机的解析记录。

典型系统设计

世界排行榜设计

世界排行榜服务在设计时需要从需求、分析、数据结构、Rank数据持久化、RankServer单点问题等方面考虑,以下是排行服务的架构图:

该架构使用Redis定时落地数据,GameServer将参与排名的数据上报RankServer,客户端从GameServer拉取排名数据,GameServer从RankServer拉取排名数据。

游戏时间设计

游戏服务器都使用距格林威治标准时间1970年1月1日00:00:00的偏移量(一般是1个绝对的秒数)来表示游戏内时间。此时间会同步给游戏客户端,游戏客户端取手机所设置的时区来计算出在游戏客户端里应该显示的游戏时间。具体情况如下图所示。

游戏时间同步的必要性:

  • 防止客户端修改本地时间造成游戏逻辑混乱,客户端使用的时间必须是服务器时间。
  • 几乎所有解决游戏状态同步问题的技术,如预测拉扯技术、服务器验证同步技术,都需要以时间同步作为基础。
  • 游戏内一些定时的活动或与时间相关的游戏玩法,为了游戏公平性,必须以统一的游戏服务器时间为标准。
  • 在客户端与服务器通信时更为安全的做法是,在每一个数据包中都添加时间戳,用于服务器验证数据包的有效性。

游戏数据同步

方案一 利用缓存即时回写数据

本方案主要特点是数据集中存储,本地设缓存,数据即时回写数据库。具体架构图如下所示。

目前主要有2种场景涉及到数据同步:

场景一 玩家在本地区域登录(如上图流程中红色字体所示)。

  1. 数据库代理从数据库读取角色数据。
  2. 数据库代理将角色数据插入缓存。
  3. 从缓存读取角色数据参与计算。
  4. 数据有变化时,同时更新缓存数据和数据库数据。
  5. 玩家退出游戏时删除缓存数据。

场景二 玩家跨区域登录。

  1. 先检查玩家是否已在其他区域登录,是,执行2,否,执行3。
  2. 将玩家的角色数据回写数据库并删除缓存和退出登录。
  3. 数据库代理从数据库读取角色数据。
  4. 数据库代理将角色数据插入缓存。
  5. 从缓存读取角色数据参与计算。
  6. 数据有变化时,同时更新缓存数据和数据库数据。
  7. 玩家退出游戏时删除缓存数据。

方案二 分区数据库实时同步

各分区数据库实时同步,可通过消息服务或者阿里云DTS实现实时同步,各分区数据库都存有游戏所有玩家数据。

  • 方案优点:
  • 玩家跨区游戏时不用再迁移玩家数据,所有分区都是本地数据读写。
  • 方案缺点:各分区都存有全部玩家数据,实时同步可能会对数据库造成一定压力。各分区间数据库实时同步会使用较多跨区域专线带宽。
  • 由于是异步同步,有可能存在数据不一致情况。如玩家使用VPN进行游戏,若VPN闪断,会造成玩家跨区重登录。如果数据同步消息丢失或有延迟,会造成重登录时读取的数据不是最新。

方案三 跨区域数据更新

跨区域登录时,从玩家本地服务器远程读取战斗数据,战斗结果通过接口调用方式触发本地服务器进行数据更新。

  • 方案优点:
  • 本区域玩家均是就近本地进行角色数据读写。
  • 方案缺点:
  • 实现逻辑较复杂,需要把所有战斗结果抽象成接口,统一由原服的接口来进行数据变更。

方案四 远程数据迁移

玩家跨区域登录时,从玩家上次登录的服务器远程迁移玩家数据,每次玩家登录时均需检查是否需要迁移数据。

游戏本地化方案

游戏本地化是游戏出海的一个重要点,无论是游戏出海发行还是游戏的地区外发行,都需要注重本地化工作。一般做法是打一个统一的客户端安装包,里面包含若干基础的素材包,各种不同语种的美术素材包,以及一些程序素材,可通过手机的语言版本来动态渲染。

以下是常见的3种安装策略:

  • 下载客户端安装包后玩家自行设置语言版本。这种大安装包包含各种语言包,软件内置一键切换语言。
  • 客户端安装时根据手机所设置的语言种类进行动态安装。安装包一般会内置一套default语言,需要其他语言时,通过网络下载语言包。
  • 分别提交不同语言版本的客户端安装包到应用商店。针对不同区域投放不同的安装包,每种安装包都需要定制化。

客户案例

案例一 游戏 A

游戏A是一款全球同服卡牌游戏。目前游戏服务器部署在阿里云美国西部1地域,由于游戏玩法对网络延迟要求不高,300ms以下的延迟都不会影响游戏体验,所以客户没有优化网络接入或者施行分布式部署的计划,采用的是全集中部署的全球同服游戏架构。

案例二 游戏 B

游戏B是一款全球实时多人战争游戏,游戏采取集中部署、优化网络的全球同服游戏参考架构。

游戏接入层、逻辑层和数据层服务均部署在阿里云美国西部1地域,中国玩家通过阿里云公网BGP接入高速通道连接美国西部1地域的VPC,在华北2部署全球加速设置接入层公网入口,通过智能DNS来进行流量调度,这样就可以提高中国大陆玩家访问游戏的速度。

总结与展望

本文档从业务需求、技术难题、云产品介绍,游戏加速、参考架构以及典型设计方案等多个方面进行了阐述,旨在为越来越多做全球同服游戏的客户提供全面的解决方案。

针对全球同服游戏中有关时间、本地化、延迟等技术难题,阿里云目前已经成功地给出了以下技术方案:

  • 分布式部署跨地域数据同步方案。
  • 全球同服游戏的时间方案,如格林威治时间。
  • 全球同服游戏的本地化方案,如文字、素材、编码等。
  • 全球同服游戏的延迟消除方案,如服务器帧同步。

后期规划中,阿里云将着重完善并输出通用解决方案以及不同类型的全球同服游戏架构方案:

  • 分布式节点流量代理搭建最佳实践。
  • 全球同服SLG类型游戏架构方案。
  • 全球同服卡牌类型游戏架构方案。

总之,阿里云的全球数据中心和高速通道将形成全球一张网,助力游戏全球部署。

您也可以直接下载PDF版文件:全球同服手游解决方案

admin
阿里云云服务器ECS-全民云计算/通用版/入门级/个人建站
网站定制/网站建设一条龙/不满意全额退款/云·企业官网
阿里云短信服务个人企业验证码系统&营销短信企业营销通用套餐
网站建设/快速仿站/千套模板/配阿里云空间/云·速成美站

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: