网游云上网络优化方案( 二 )


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

  1. 服务端全集中部署,优化接入网络(加速器、DCDN) 。
  2. 全分布式部署,服务端应?+数据都分区域部署,做区域间数据同步 。
  3. 服务端应用层分区域部署,数据集中部署,通过区域缓存+高速通道(专线方式访问DB) 。
数据?致性问题:?个玩家断线,缓存数据还未落地,玩家重新登录被判定到另?个区域登录了,可能获取不?致的角色数据;需要gamesvr判定上一次登录在哪个区域,通过?个全局服务去通知对方gamesvr下线玩家并回写数据,然后再预取数据 。
网游云上网络优化方案

文章插图
图5
2.3 技术痛点及诉求
游戏业务最主要就是要求服务端逻辑处理的实时性和高并发支撑能力,玩法逻辑和数据都在?个进程是最理想的方式,但往往因为性能容量的限制,?前主流都是逻辑模块拆分、分布式部署,同时又要控制分布式调?的链路和次数来控制延迟的目的;对于运行时数据基本都是在内存进行处理(如共享内存),玩家角色的结算/存档数据以固定周期持久化 。
网游云上网络优化方案

文章插图
图6
基于以上游戏技术特征分析,总体来说对游戏对技术层?的诉求优先级是:网络>计算>安全>数据库 。
在网络方面核心痛点其实就是如何解决网络延迟、丢包、抖动对玩家卡顿、掉线等体验的破坏,随着服务端技术更新和同屏玩家数量的增加,对游戏服务层的并发访问、稳定性、?络延迟也有了越来越高的要求 。
3. 游戏网络优化游戏体验的优化是?个系统工程,需要多种优化手段联合作用,业界很多的精力是放在逻辑层的处理上,纯网络层面的优化只能说是一方面,以下基于云环境的网络优化方案进行阐述 。
3.1 游戏单服网络能力
对于状态同步的MMORPG类游戏,每?次网络同步的数据是整个游戏世界场景的所有单位的属性、状态、行为判定等数据,同步量大,网络吞吐要求高,以?个单服设计容量1万在线的MMORPG游戏来说,通常?次网络同步的包大小在512byte左右,单?户评估带宽30kbps,则出网卡吞吐、包量能力需要的值:
以上是出公网的网卡的流量,GameServer还存在内网通信的需求,因此在这种场景?般建议是选择能?持百万级别pps的实例,如:ecs.c6.4xlarge 依托神?架构,将网络虚拟化功能卸载到专用硬件,提供了更?的网络io承载能力和稳定性 。同时建议将网络中断分散给不同的vCPU处理,提升网络PPS和带宽性能 。即开启网卡多队列功能:
网游云上网络优化方案

文章插图
图7
网游云上网络优化方案

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

文章插图
图9
具体流量路径
  • 在上海VPC和?本VPC建?高速通道实现两地ECS内网互通 。
  • 在两端地域ECS之间建立隧道协议,GRE或VXLAN,分别绑定本地地域EIP 。
  • 国内玩家通过公?VPN连接到上海上车点ECS,经过隧道接?路由到日本下车点ECS 。
  • ?本ECS接收到去往游戏服的数据包从日本本地EIP出去,同时回程路由到隧道接口发给上海ECS 。
基于DCDN动态加速页游
对于页游、H5小游戏等产品由于其?http协议,轻客户端模式动态逻辑中也包含有?量静态资源,这类游戏往往是全区全服单地域覆盖全国,网络上的主要痛点是:玩家跨运营商跨地域访问游戏服,网络传输拥塞的时延、丢包等情况严重影响用户体验,同时客户自行去做动静分离、动态加速等方案需要大量的时间、成本投入 。