当前位置:主页 > 查看内容

?游云上?络优化?案

发布时间:2021-04-19 00:00| 位朋友查看

简介:1. 游戏?业背景 1.1 ?业概况 2019全球数字游戏营收1094亿美元,其中中国市场328亿美元。国内游戏?户数6.5亿;移动端 (60%) PC端 主机。移动游戏占?逐年增?已成为绝对的主流。国内公司近3万+,近200上市,Top10:腾讯53%,?易15%,三七,中?游,世纪华通,完……
1. 游戏?业背景
1.1 ?业概况

2019全球数字游戏营收1094亿美元,其中中国市场328亿美元。国内游戏?户数6.5亿;移动端
(60%) PC端 主机。移动游戏占?逐年增?已成为绝对的主流。国内公司近3万+,近200上市,Top10:腾讯53%,?易15%,三七,中?游,世纪华通,完美,搜狐畅游、游族、多益,紫?互娱。
趋势:业务上融合电竞赛事/直播往社交化、多元化发展;技术上通过AR/VR/云游戏等来提升体验。
政策管控:18年开始趋严,?化部管运营备案;?电总局管版号,19年只有数百个版号。

1.2 业务类型
分类维度:终端、题材、美术?格、玩法、架构终端:端游、?游、?游、主机玩法:MMORPG、ACG、MOBA、RTS、FPS、SLG?格:武侠、魔幻、写实、?次元架构:分区分服、全区全服、全球同服2. 游戏技术特征
2.1 核?技术逻辑

对于任何?络游戏??,同步是?定要解决的核?问题,甚??游戏玩法逻辑本身还重要,什么是同步?同步是?络游戏的基础,通过?络通讯来确保同屏玩家看到的游戏世界中每个游戏单位的位置、世界场景、状态属性都要保持?致。即:客户端的表现要?致,同时客户端与服务端的数据要?致。业界主要有两种同步?式。

状态同步

1.jpg
图1

状态同步玩法逻辑(?如战?逻辑)写在服务端,服务端作为逻辑控制层,客户作为?个表现层,玩家对象数据在服务端?成并维护,客户端中玩家对象的所有动作都会通知到服务端,服务端进?逻辑计算并将结果同步给所有客户端,客户端执?表现(播放动画、特效并修改玩家对象的属性显示),这种?式下,客户端的数据只能由服务端的指令来修改。
优点:安全性极?,防外挂能?强;断线重连?较好实现,??就是把整个场景和?物全部重新?成?遍发给中途掉线重连上来的客户端去表现即可。
缺点:服务端压?较?(所有动作的计算逻辑需要在服务端上做),?络交互流量?,实现难度?,开发效率低。(通过分区?服来平?扩展);对于格?竞技竞速类,玩家动作、位移、?度的切换?常频繁且快,也需要?较强的同步校验,这时状态同步?法解决。
典型游戏:状态同步对?络延迟的要求并不?(玩家表现层是不是?致没有太?关系,只要结果?致就?),
?般RPG游戏在200-300ms的延迟也能玩下去,如MMORPG,魔兽世界、天??部等。

帧同步

2.jpg
图2

帧同步也叫指令同步,玩法逻辑写在客户端了(?如战?逻辑),客户端所有动作?成?条指令发给服务端(?如攻击对象B),服务端收到指令后什么也不做,直接转发给所有客户端,客户端收到指令后执?逻辑计算并执?表现层(播放动画、特效并修改玩家对象的属性数据)
优点:服务端压??(仅仅起到?个转发的作?),?络流量?,能做到更好的及时反馈及细节反馈的?户体
验。
缺点:容易外挂,断线重连会?较繁琐,需要在客户端重放每?条指令。
典型游戏:RTS、moba等即时对战类游戏,对同步性的要求很?,?场战?的?数是确定的。王者荣耀、魔兽争霸3、所有格?类游戏等。实时性要求?常?,要求RTT?于50ms才能有流畅的体验。

2.2 典型技术架构
分区分服:典型MMORPG

MMORPG ?型多?在线??扮演,如魔兽世界,剑灵,天??部

3.jpg
图3

特点:玩家之间强交互、实时性要求?、全?的游戏世界系统。

业务流:特征,交付实时性,主要压?在哪?(?络、cpu、内存)。数据流:对数据库的访问逻辑,压?情况。全区全服:典型MOBA

分少量?个?区、分服对?户不可?;或者全局对客户不可?,应?层按?定算法进?分配。
ACG/SNS:休闲竞技类
MOBA(Multiplayer online battle arena)匹配开房间类,?逃杀吃鸡类(MOBA+FPS)王者荣耀、绝地求?;堡垒之夜。
特点:休闲竞技类,匹配玩法,需要?量的可匹配玩家,匹配后?成战?服。

4.jpg
图4

全球同服:典型SLG

为什么要做全球同服,是?个运营需求还是?个技术需求?不是所有的游戏类型都适合全球同服
特点:游戏对象之间弱交互,实时性要求并不?,300ms内的同步延迟可接受;卡牌,SLG等,如COC:往往有3种架构:

服务端全集中部署,优化接??络(加速器、DCDN)全分布式部署,服务端应?+数据都分区域部署,做区域间数据同步服务端应?层分区域部署,数据集中部署,通过区域缓存+?速通道(专线?式访问DB)

数据?致性问题:?个玩家断线,缓存数据还未落地,玩家重新登录被判定到另?个区域登录了,可能获取不?致的??数据;需要gamesvr判定上?次登录在哪个区域,通过?个全局服务去通知对? gamesvr下线玩家并回写数据,然后再预取数据。

5.jpg
图5

2.3 技术痛点及诉求

游戏业务最主要就是要求服务端逻辑处理的实时性和?并发?撑能?,玩法逻辑和数据都在?个进程是最理想的?式,但往往因为性能容量的限制,?前主流都是逻辑模块拆分、分布式部署,同时?要控制分布式调?的链路和次数来控制延迟的?的;对于运?时数据基本都是在内存进?处理(如共享内存),玩家??的结算/存档数据以固定周期持久化。

6.jpg
图6

基于以上游戏技术特征分析,总体来说对游戏对技术层?的诉求优先级是:?络 计算 安全 数据库。
在?络??核?痛点其实就是如何解决?络延迟、丢包、抖动对玩家卡顿、掉线等体验的破坏,随着服务端技术更新和同屏玩家数量的增加,对游戏服务层的并发访问、稳定性、?络延迟也有了越来越?的要
求。

3. 游戏?络优化

游戏体验的优化是?个系统?程,需要多种优化?段联合作?,业界很多的精?是放在逻辑层的处理上,纯?络层?的优化只能说是???,以下基于云环境的?络优化?案进?阐述。

3.1 游戏单服?络能?

对于状态同步的MMORPG类游戏,每?次?络同步的数据是整个游戏世界场景的所有单位的属性、状态、
?为判定等数据,同步量?,?络吞吐要求?,以?个单服设计容量1万在线的MMORPG游戏来说,通常?次?络同步的包??在512byte左右,单?户评估带宽30kbps,则出??卡吞吐、包量能?需要的值:

14.jpg

以上是出公?的?卡的流量,GameServer还存在内?通信的需求,因此在这种场景?般建议是选择能?持百万级别pps的实例,如:
ecs.c6.4xlarge 依托神?架构,将?络虚拟化功能卸载到专?硬件,提供了更?的?络io承载能?和稳
定性。
同时建议将?络中断分散给不同的vCPU处理,提升?络PPS和带宽性能。即开启?卡多队列功能:

7.jpg
图7

8.jpg
图8

3.2 玩家接??络加速

这块主要是玩家到游戏服的公?链路上进?加速。

基于加速器优化玩家接?

加速器与游戏是天然关联的两个?业,主要解决玩家与游戏服因物理距离遥远?出现的延迟、丢包等情况对游戏流畅度的影响,这在国内玩家访问海外游戏服的场景中很常?(?如某些游戏国内禁?发??国内玩家只能登陆海外服来体验),玩家可以购买各类加速器产品,或者使?游戏客户端?集成的加速产品来实现链路优化,在云上要构建这?层加速其实已经?常简单,甚?直接利?云的架构轻松实现?个加速器产品。

9.jpg
图9

具体流量路径

上海VPC和?本VPC建??速通道实现两地ECS内?互通。在两端地域ECS之间建?隧道协议,GRE或VXLAN,分别绑定本地地域EIP。国内玩家通过公?VPN连接到上海上?点ECS,经过隧道接?路由到?本下?点ECS。?本ECS接收到去往游戏服的数据包从?本本地EIP出去,同时回程路由到隧道接?发给上海ECS。基于DCDN动态加速?游

对于?游、H5?游戏等产品由于其?http协议,轻客户端模式动态逻辑中也包含有?量静态资源,这类游戏往往是全区全服单地域覆盖全国,?络上的主要痛点是:玩家跨运营商跨地域访问游戏服,?络传输拥塞的时延、丢包等情况严重影响?户体验,同时客户??去做动静分离、动态加速等?案需要?量的时间、成本投?。

10.jpg
图10

全站加速(DCDN)通过动静分离、边缘缓存、智能路由、压缩传输等技术,解决跨运营商、?络不稳
定、单线源站、突发流量、?络拥塞等诸多因素导致的响应慢、丢包、服务不稳定的问题,提升动静态混合、纯动态站点或App的加速性能和访问体验;这种?较适合如三七?游、抖??游戏等,其实对于?些重度游戏的全局?战?模块、周边系统等也能接?DCDN来进?全局加速。

基于CEN加速特定地区玩家

国内地域?阔,游戏服虽是尽量做本地覆盖,但出于成本因素对于有些偏远地区还是覆盖不全,这部分玩家涉及跨运营商跨地域的远程访问游戏服,游戏掉线、卡顿时有发?,?如对于新疆、?藏、宁夏、?海等地域,游戏服在部署上基本不会做本地覆盖,如果拉近游戏服与玩家的距离??前基于阿?云有种可?的?案是:SLB+CEN+游戏服(跨地域)。

11.jpg
图11

该?案对于没有POP点、anycast?持的地域?较合适,相当于SLB挂载跨地域的ECS(?名单开放),拉近游戏服到?户侧距离。

3.3 全球同服?络构建

这块主要是基于专线的加速?案,在全球同服游戏类似中,数据传输需要跨运营商、跨多国通信,这对?络质量提出更?的要求,当然?前能实现真正意义上的全球同服游戏其实没有,主要还是对即时性体验要求不?的SLG、卡牌等类型,游戏对象之间弱交互,实时性要求并不?。

基于GA全球加速

GA利?阿?云全球传输?络,实现全球?户就近接?和跨地域部署,减少延迟、抖动、丢包等?络问题的影响,按区域覆盖玩家。

12.jpg
图12

GA为每个接?加速区域的地域分配?个加速IP,客户端流量通过加速IP就近从接?点进?阿?云加速?络。进?阿?云加速?络后,全球加速可以智能选择路由并?动完成?络调度,然后把客户端的?络访问请求送达?最佳终端节点,避开公?的拥堵,达到减少时延的效果。

基于Anycast EIP 加速

同样全球同服的场景,Anycast 主要解决多国多地域的跨?通信链路的质量问题,通过单个ip覆盖全球的加速能?,这??简化了游戏全局模块的部署问题。

13.jpg
图13

阿?云?前在全球各地域部署anycast pop点,覆盖地域/国家通过这些点来就近接?,部署在HK的游戏
服只需要?个ip,通过Anycast路由协议在多个Anycast POP点发布该ip,pop点通过专线连接部署在阿?云VPC的游戏服务。

我们是阿里云智能全球技术服务-SRE团队,我们致力成为一个以技术为基础、面向服务、保障业务系统高可用的工程师团队;提供专业、体系化的SRE服务,帮助广大客户更好地使用云、基于云构建更加稳定可靠的业务系统,提升业务稳定性。我们期望能够分享更多帮助企业客户上云、用好云,让客户云上业务运行更加稳定可靠的技术,您可用钉钉扫描下方二维码,加入阿里云SRE技术学院钉钉圈子,和更多云上人交流关于云平台的那些事。

image.png


本文转自网络,原文链接:https://developer.aliyun.com/article/783629
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!
上一篇:非完整约束机器人 下一篇:没有了

推荐图文

  • 周排行
  • 月排行
  • 总排行

随机推荐