热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

CDN鼻祖Akamai如何看『游戏出海』?

中国的游戏公司在出海大潮中走得比较早,游戏成为了其出海业务重要的营收来源,加之游戏流量持续增长,技术的发展加速和出海区域的需求差异,企业会面临各种各样的技术挑战。如何寻找到一套合适

中国的游戏公司在出海大潮中走得比较早,游戏成为了其出海业务重要的营收来源,加之游戏流量持续增长,技术的发展加速和出海区域的需求差异,企业会面临各种各样的技术挑战。

如何寻找到一套合适的解决方案?

全球CDN领域的鼻祖与巨头Akamai本身不直接发行游戏,但是其技术涉及游戏的方方面面,从原型设计到测试再到运维与迭代。

作为Akamai大中华区媒体事业部高级售前技术经理,刘烨对游戏出海有着自己深刻的理解。

下图为Akamai观察到的过去一段时间中互联网流量的增长情况(从2004年一直到现在在Akamai平台上出现的流量峰值)。

CDN鼻祖Akamai如何看『游戏出海』?

今年流量峰值的出现,是因为体育赛事和游戏发布的叠加,最终达到167 Tbps的数量级。今年其实连续突破了两次技术,年初时因为《使命召唤》的发布流量先是到了125 Tbps,紧接着因为期间有其它的游戏发布和体育赛事的直播,流量最终到了167 Tbps。

仔细研究整个Akamai平台上观测到的流量发展趋势,可以看到,在2016年之前,所有流量峰值全部都是由“直播事件”所带来的。但是从2016年以后,所有峰值可能都来自于游戏下载或者游戏下载和赛事直播事件的叠加。

雷锋网注意到,一个特别典型的趋势:互联网上大的事件、流量的高峰,会推动互联网带宽的不断增长,从原来视频驱动向现在的游戏驱动。

在过去一年的数据中,Steam游戏平台在4月份达到了前所未有的峰值。可以看到,Steam上的并发用户数从3月起就极剧增长,因为很多国家开始了封锁政策,所以更多的人需要在家办公。

CDN鼻祖Akamai如何看『游戏出海』?

原来的酒吧或外部娱乐的形式都被取消了,所以游戏变成大家主要的娱乐方式。从这种主流的游戏平台可以看到,流量在4月时已达到了前所未有的峰值,而这个变化从今年3月份开始就出现了。

Akamai面对这种流量增长的趋势,在游戏行业中通常会做什么呢?

刘烨对雷锋网(公众号:雷锋网)等提及了Akamai被外人津津乐道的两个地方:

CDN鼻祖Akamai如何看『游戏出海』?

  • 一是Akamai全球节点覆盖超过了130个国家,在几千个机房里都有节点。企业要“出海”,无论目标市场是北美、日韩这种主要的发达地区,还是中东、东南亚这些不那么发达的地区,用了Akamai的服务就无需担心节点的覆盖、可以保证全球数据同步传输的一致性;

  • 二是游戏行业一直是特别易于被攻击的行业,Akamai提供了非常“健壮”的安全产品,可以依托Akamai智能边缘平台保证游戏发布的安全性。

上述两点是最多被游戏客户提到的跟Akamai合作的原因。

Akamai在游戏行业做哪些事?

如果按照整个游戏的生命周期,Akamai在游戏行业到底能做哪些事情?

刘烨表示,其实远远不止他前面所提到的两方面。

CDN鼻祖Akamai如何看『游戏出海』?

具体来看,游戏从开发到运维分为5个阶段,在这5个阶段,其实都有Akamai的解决方案和产品,特别是在全球化的过程中:

  • 第一,概念设计。Akamai会去考虑:一个游戏要发布到哪些区域?游戏的内容是什么?受众是什么?竞品是什么?

  • 第二,原型阶段。当知道了要做一个什么样的游戏,就要试着从一个关卡开始把整个原型都制作出来。游戏原型制作出来后,可以看到游戏是怎么样玩的、用户的体验是什么样子、通关的难易程度如何。

  • 第三、测试阶段。该阶段包含“封测”、“内测”、“公测”3个步骤。这个阶段验证游戏玩起来的体验。后期会在网上招募更多的外部用户参与到测试中,确定游戏在发布的过程中是否会有太多Bug以及是否能够承受公众访问的压力。

  • 第四、发布阶段。该阶段是最重要的阶段,游戏公司在这个阶段会提前买量确定发布的渠道、确定发行公司在目标区域的发行。

  • 第五、迭代阶段。发行成功以后,游戏将吸引越来越多的付费用户,游戏随之进入到运维迭代阶段。游戏公司会按期发补丁、确保游戏不断改善、让玩家持续产生兴趣。

这是AT&T在两年前做的“全球互联网骨干示意图”,不同的颜色代表全球不同的骨干网运营商。因为骨干网运营商分布在不同的区域,基础设施的建设也不一样。相对来讲,互联互通、基础设施、ISP的数量非常复杂,那么,就造成了全球互联网的性能并不均匀。

CDN鼻祖Akamai如何看『游戏出海』?

当游戏厂商在一开始考虑游戏到底要发布到哪些区域、受众是哪些区域玩家的时候,其实他们要考虑骨干网上不同的连接速度。

以某一个月的网络连接速率为例,北美、加拿大可以达到每秒钟速率是68 Mbps,南美、欧亚的一些国家,基本上是20-30 Mbps这样的速率,不同地区差异仍然非常大。

所以当发布游戏在这些特定区域的时候,游戏厂商怎么考虑设定美工、设定包体的大小,然后发到这些区域,需要在一开始游戏设计阶段就要考虑到。

Akamai承载了互联网上非常大比例的流量,可以提供一些真实的数据,能看到各运营商、各国家、各地区的网络连接速度和可用性。这些数据不是一个采样数据,而是真实用户数据,是在一个运营商中所有的用户连接速度综合形成的数据。

当游戏客户表示“现在要出海到越南,能否知道越南某一个运营商可用性是什么样子”,Akamai在游戏的设计阶段、原型阶段,其实就可以告诉准备“出海”的客户在不同的国家网络真实的性能是什么样子。这与第三方测速工具有些不太一样,因为这些都是真实的数据,“测速工具”更多是用测试服务器采样得出的。

CDN鼻祖Akamai如何看『游戏出海』?

当设计游戏中的“对战”时,势必对延时要求比较高,游戏厂商应该考虑未来服务器和源站应该如何部署。

Akamai提供了一个全球网络优化技术,这个技术可以优化从玩家到服务器之间的这种延时。当拿到这个数据后,游戏客户就可以考虑如何建设自己的全球数据中心并确定是否要分服。Akamai的优化如果可以把延时降低到一个可以接受的范围,这样游戏厂商可以做到全球同服或者做到某一些就近区域在一起用相同的服务器。

在游戏原型设计完成后,在考虑其中的消息传递时,游戏厂商也要考虑用什么样的技术去做,因为,游戏的社交属性越来越强了。这主要在于,游戏除了本身是一个娱乐工具,其实也是家人、朋友之间的沟通渠道。

消息传递通常在现在的游戏设计中,全部都是私有协议。私有协议的好处是效率会比较高、完全按照自己本身的方式做。不利的地方在于私有协议没有第三方的产品可以看懂它,因为只有你自己能看懂。

CDN鼻祖Akamai如何看『游戏出海』?

所以,当两个玩家消息进行传递时,如果游戏的源站数据中心在离玩家500公里以外的一个地方,即便是跟玩家在同城有另外一个玩家想给他发消息,也要通过游戏服务器进行传递,这种情况下效率就会变低。那么如何解决?可以用一些介于HTTP跟完全的私有化协议之间的协议去做——比如MQTT。

刘烨介绍,MQTT协议最早是为了物联网场景而设计,比如主人离开家后可以远程控制智能家居设备。MQTT是为消息传递、广播、通告而设计的,所以它非常适合游戏中“新玩家上线/下线/系统广播/两个玩家之间的消息传递”的场景。

Akamai的一些客户在游戏设计原型阶段,就在考虑把这些新的协议融入进去。如果厂商用了这种标准化的协议,那么就可以在边缘上通过Akamai的服务器进行传递。

如果某玩家向北京的另外一个玩家发消息,消息就不需要到上海的数据中心去做交互然后再回来,而是Akamai作为代理帮忙进行消息传递,从而提高效率、降低源站负载。这个是在游戏设计里可以考虑或利用Akamai的另外一个方面。

设计完成、原型做好后,游戏厂商该准备测试了。测试有很多种,其实Akamai能够帮助游戏厂商更多地对游戏去做“压力测试”。

“压力测试”需要解决两个问题:第一,模拟用户从公网上不同的地方访问游戏服务器;第二,模拟出整个游戏在玩的过程中可能会出现、并发数上来后出现的瓶颈。以RPG游戏为例,玩家要通过一开始的注册、选服、创建角色、登录游戏、进入场景、开始任务,所有的阶段要综合去看“到底哪一块可能会成为游戏的性能瓶颈。

有些游戏公司通常都是自己写一些机器人程序帮忙运行这些场景,然后再决定压力出现的地方。Akamai其实有一个产品专门进行基于“云”的压力测试。该产品可以通过脚本提前的录制来模拟场景,也可以在公有云上按需启用这些资源,所以能较准确地模拟公网上大规模的访问,而且定位瓶颈出现的因素和地方。这可以帮助游戏厂商在上线前知道游戏服务器、游戏运行过程中是否还有瓶颈、是否可以面对大量的公网访问。

在发行游戏环节,Akamai也有专门产品。

当一个游戏或应用刚上线时会有特别大的并发访问,对于游戏厂商的源站、数据中心压力较大。所以Akamai专门设计了一个产品,叫Cloud Wrapper,在源站前作为一个存储或类似源站的产品,减少对于源站的请求数,帮助源站支撑更多的用户。然后再通过Akamai全球分布式、非常强壮的网络把游戏内容分发到各个地区。这个是当游戏厂商发布新游戏时,Akamai起到帮助的地方。

上线以后再进行日常的维护工作,包括:升级、发布补丁。作为一个售前咨询的部门,其实刘烨和他的团队在做的一个事情是即便游戏上线后进入了日常维护阶段,仍然去看游戏可以优化的地方。

比如在登陆的过程中,登陆的速度快与慢是不是可以优化?游戏中的促销信息图片是不是可以优化?它的弹出速度如何?它的用户体验如何?它是不是玩家看到的是一张白图慢慢才渲染出来?那这时间要有多久?这些其实都是可以优化的地方。

总体而言,在刘烨看来,在整个游戏从概念设计到后面运维迭代的过程中,Akamai在每个阶段都可以帮助游戏厂商去做全球化,跟厂商一起面对可能会遇到的挑战。(雷锋网)


推荐阅读
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 前言微服务架构(MicroserviceArchitecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。你可以将其看作是在架构层次而非获取服务 ... [详细]
  • 看完这篇还搞不懂HTTPS,就来找我!
    本文将为大家详细梳理一下H ... [详细]
  • php视频点播系统的简单介绍
    本文目录一览:1、phpvod管理员是什么 ... [详细]
  • 本文介绍了禅道作为一款国产开源免费的测试管理工具的特点和功能,并提供了禅道的搭建和调试方法。禅道是一款B/S结构的项目管理工具,可以实现组织管理、后台管理、产品管理、项目管理和测试管理等功能。同时,本文还介绍了其他软件测试相关工具,如功能自动化工具和性能自动化工具,以及白盒测试工具的使用。通过本文的阅读,读者可以了解禅道的基本使用方法和优势,从而更好地进行测试管理工作。 ... [详细]
  • 开发笔记:深度探索!Android之OkHttp网络架构源码解析
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了深度探索!Android之OkHttp网络架构源码解析相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 2019 年 Firebase 峰会上发布的新功能
    作者FrancisMa,HeadofProductFirebase的使命是帮助移动开发者和Web开发者迈向成功,但考虑到Firebase每个月有超过200万个活跃的应 ... [详细]
  • 阿里p8用端午节3天假期整理出了Spring Cloud知识点大全,太全了
     前言:今天一觉起来,发现我们开工的日期又延迟了,虽然已经在家办公一个多礼拜了,但是由于家里的环境还是不能有很高的效率。于是干脆就对SpringCloud的一些知识点做了一些整理。 ... [详细]
  • jenkins中 Slave使用Docker
    原因就不说了,网上的自动化测试Docker教程太不靠谱,还是学学官网吧。目的:在现在各种虚拟化的大条件下,还在建立N个节点机 ... [详细]
  • mongodb 监控权限_运维监控产品分析篇
    开源运维监控系统篇1.zabbix用户群:85%以上的泛互联网企业。优点:支持多平台的企业级分布式开源监控软件安装部署简单,多种数据采集 ... [详细]
  • 起底▍Spring Boot/Cloud背后豪华的研发团队 ——独角兽公司Pivotal
    作者|纯洁的微笑编辑|梅花鹿36大数据已获得授权转载我们刚开始学习SpringBoot的时候肯定都会看到这么一句话:SpringBoot是由Pivotal团队提供的全 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
author-avatar
wangbiao少爷
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有