文丨寻野,阿里云弹性计算产品解决方案架构师
摘要:游戏一直以来是互联网领域的一大热门行业,随着移动互联网的兴起,手机和Pad的普及,游戏从早期PC时代的页游、端游,逐渐发展到手游占据主要趋势。近几年,游戏厂商在不断探索云游戏,希望为玩家带来更顺滑的体验,而上云已经成为游戏行业的不二选择。
如何让游戏在云上运行得更稳定、流畅、高效和经济?作为国内最大的云厂商,阿里云为游戏厂商提供最佳上云解决方案。本篇主要介绍三大游戏场景:游戏服务、大数据运营、云游戏的架构特点,以及基于这些场景下的阿里云游戏行业计算基础设施选型与部署方案。
一、 游戏行业的重计算场景
游戏行业是重算力消耗的场景,其中三个算力需求比较突出的场景是:游戏服、游戏运营、云游戏。
l 游戏服
游戏品类繁多,本文将重点介绍游戏服中计算密集的两大类型:MMORPG类型和MOBA/FPS类型。
l 游戏运营
目前游戏行业的几大趋势包括:品类融合玩法不断叠加、社交类大DAU类游戏的趋势、以及精品化游戏趋势,这其中都需要大量的数据运营分析工作,以及帮助游戏公司提升用户留存、优化游戏中的玩法策略等。
l 云游戏
本篇将会结合以上三个场景具体介绍弹性计算产品的实践。
二、 游戏服业务与技术特点
1. 游戏服业务特点
从游戏品类层面,有RPG、FPS、MOBA、SLG等品类,每一个品类从游戏本身的玩法来讲都有各自的特点。
从技术架构角度出发,由于游戏的强交互性特点,游戏技术架构与其它互联网应用有一定区别:
a. 长连接
游戏通常是需要长连接的,也就是从一个客户端到服务端的长连接,方便对玩家的行为进行及时的反馈和推送;
b. 低延迟
由于游戏的強交互性特点,无论在PVE还是PVP中,都需要及时的反馈,类似FPS、MOBA类等多人对战类游戏就是典型的PVP,对网络延迟和抖动的容忍度很低,所以要求低延迟;
c. 频繁写
由于游戏中需要高频率记录玩家信息、操作的特点,这些记录在玩家数量大的时候比如典型的MMO游戏,需要频繁写入数据,并发的读写就非常高,这类场景需要较强的IO性能;
d. 高性能
游戏强交互性、低延迟的特点,在当今逐渐分层解耦架构的同时,也需要保证游戏玩家的交互效果,会进一步依赖到底层服务器的強计算能力;
e. 高弹性
游戏业务的周期特点和峰谷特点,往往需要非常高的弹性能力。
2. MMORPG弹性计算产品实践
RPG(角色扮演游戏)是游戏的一个大品类,玩家模拟一个虚拟人物在游戏中体验和游玩。
a. MMORPG游戏服的特点
- MMO:海量玩家高并发场景,高计算性能、强稳定性;
- 网关服:网络包转发、高吞吐,高网络PPS;
- 中心服:分钟级异步入库,写频繁、高IOPS;
b. 弹性计算产品实践
基于以上特点,MMORPG弹性计算产品的选型也要根据场景来区分:
- MMO:高计算性能,七代Ice Lake ECS实例,提升性能体验;
- 网关服:高网络PPS,建议6代增强、7代实例;
- 异步入库与日志:对于磁盘读写性能要求高的场景,使用不同级别ESSD云盘,避免磁盘读写瓶颈;
- 高效运维:对于有分区分服,需要快速的开服合服等场景,可通过CADT云速达、ESS弹性伸缩、OOS编排等工具(3)可通过CADT云速达、弹性伸缩、运维编排等云上运维工具搭配产品使用能够提升运维效率。
3. FPS、MOBA弹性计算产品实践
像FPS/MOBA这类竞技游戏,交互更强,延迟更敏感。
a. 对战类游戏特点
- 低延迟:游戏中大量密集计算场景;
- 超高性能:大地图战斗、小房间战斗;
- 弹性房间:战斗房间滚动式开关。
b. 弹性计算产品实践
- 部署形态:平台功能中心,战斗服区域部署;
- 低延迟高性能:高主频7代、7代计算型实例,更高的单核性能提供更好的战斗效果;
- 弹性房间:战斗房间类游戏,由于业务本身峰谷特性,灵活的使用云上资源的弹性能力,往往会较好的优化整体的资源使用成本,ESS弹性伸缩+云监控CMS+节省计划,达到成本最优解;
- 容器化:ACK容器服务+ECI弹性容器实例,更进一步释放了基础资源的灵活性和弹性能力;
- 平台业务:这部分更接近于通用的互联网技术架构,如精彩实时录制场景是典型的高清画质+实时录制的需求,往往会基于GPU能力构建,选择弹性vGPU/cCPU产品,实现更细粒度的使用云上的GPU资源。
三、 游戏大数据弹性计算实践
游戏全生命周期的业务表现,如用户留存、经营转化、游戏内玩法策略等都是游戏厂商非常关注的业务支撑数据。
大数据是当前游戏业务经营、运营等主要的技术手段,得益于大数据开源社区技术栈的丰富度,大数据的技术选择非常多,可选方案需根据自身项目因地制宜。
1. 游戏大数据业务特点
- 数据场景:业务经营数据、游戏内容数据、平台技术数据、安全运营数据;
- 技术栈选择:技术选择、部署选择、运维压力;
- 效能问题:业务性能、成本负担、弹性需求。
2. 弹性计算实践
a. 基于云上产品
不同的游戏公司处在不同的数据建设阶段,会有不同的选择倾向,包括在IDC自建、基于云基础资源自建、云上EMR套件托管、以及利用更多云上大数据类产品,提高业务效率降低运维负担,比如:选择SLS数据采集;Kafka数据网关通道;通过Flink做实时计算;通过Elasticsearch或Clickhouse做数据的聚合分析;
b. 选型思路释放效能
具体计算存储的产品选型也需要在业务需求、性能、效率、成本多方面做平衡。如实时计算/近实时计算场景,Flink具备高性能、低延迟特点,需要计算和网络性能,优先推荐选型七代主售实例或6代增强实例;而对于Remote Shuffle Service中间处理结果多的场景,需要大量的join类场景,可以选择部分通过内存去处理;离线数据计算和存储可能会选择SATA本地盘实例;至于SSD本地盘、SATA本地盘、ESSD云盘,需要综合来看计算、网络、存储性能和容量以及综合成本来选择;
c. 释放弹性
基于OSS对象存储的数据湖方案也是趋势之一,云上的存算分离解耦架构带来的好处是充分释放了云上弹性的能力,也可以利用更轻巧的弹性计算产品,如SPOT实例,ECI容器实例进行弹性大数据计算,从而满足业务需求的同时也能节约更多的成本;
d. 安全运维
账号安全管理,本地盘D2S热换盘,以及事件触发机制。
四、 云游戏弹性计算产品实践
从2009年ONLIVE推出云游戏产品开始,云游戏已经度过了一个技术周期,尤其在近两年,越来越多的公司关注和投入云游戏。平台以流化能力为技术基础,以视频流化形式带动游戏运行,使用户以低成本享受更高品质的游戏。
云游戏主要分终端和云端。终端部分基于Windows、IOS、Linux等操作系统的终端设备,包括手机、平板、电脑、电视机、VR一体机等。
云端架构主要是游戏应用层、云游戏平台层、基础资源层。应用层是海量的游戏内容;平台层是云游戏必须的运营平台、支撑平台、流化技术平台等;IaaS资源层包括基础网络、基于X86架构以及ARM架构的GPU服务器。
1. 云游戏业务特点
- 多终端适配:移动设备、家庭设备、场景设备;
- 端到端体验:实现端到端高性能低时延,指令串流、编辑码;
- 图形计算:高清游戏渲染
2. 弹性计算产品实践
- 丰富GPU实例:高性能GPU(3A)、vGPU(页游)、ARM+GPU(云手游);
- 性能加速体验:串流技术、渲染加速、硬件加速;
- 中心+边缘场景覆盖:公共云+边缘云盒;
- 弹性构建:快速部署、弹性使用;
- 云运维体验:CloudOps、云速搭CADT等,帮助到游戏客户去更快捷方便的构建云游戏业务。
五、 阿里云为游戏开发者提供全球高质量基础设施云服务
阿里云通过多年的技术积累和持续的运营,目前在全球范围内提供了非常大规模的基础设施云服务,通过优异稳定的性能表现,以及通过技术手段不断去释放的成本红利,为游戏客户提供更普惠、更安全、更稳定、更弹性的基础设施云服务。
国内的业务出海、游戏出海也是国内游戏市场的主要趋势之一,很多游戏公司已经把出海从业务可选项变成了必选项之一。
2022年3月,阿里云也上线了韩国和泰国两个区域,能够为游戏出海本地化服务提供更流畅稳定的游戏体验。阿里云将在游戏出海业务领域,为客户提供更多的帮助。
点击这里,查看嘉宾的精彩分享视频