当前位置 : 主页 > 编程语言 > 其它开发 >

阿里云S级新游上云最佳实践

来源:互联网 收集:自由互联 发布时间:2022-05-30
本篇通过S级新游案例介绍弹性计算上云的过程。 文丨木久,阿里云弹性计算产品解决方案架构师 摘要: 游戏一直以来是互联网领域的一大热门行业,随着移动互联网的兴起,手机和
阿里云S级新游上云最佳实践 本篇通过S级新游案例介绍弹性计算上云的过程。

文丨木久,阿里云弹性计算产品解决方案架构师

 

摘要:游戏一直以来是互联网领域的一大热门行业,随着移动互联网的兴起,手机和Pad的普及,游戏从早期PC时代的页游、端游,逐渐发展到手游占据主要趋势。近几年,游戏厂商在不断探索云游戏,希望为玩家带来更顺滑的体验,而上云已经成为游戏行业的不二选择。

 

如何让游戏在云上运行得更稳定、流畅、高效和经济?作为国内最大的云厂商,阿里云为游戏厂商提供最佳上云解决方案。本篇通过S级新游案例介绍弹性计算上云的过程。

 

 

一、 背景介绍

 

1.  游戏体验和品质要求提升,对云计算提出更高要求

 

在现今的游戏市场中,游戏的种类可谓丰富多样,有RPG类(如仙剑奇缘)、电竞类(如CSGO、DOTA2),MMORPG类(例如原神、幻塔)等,这类游戏也有另一种叫法是轻科幻题材开放世界类游戏。除此之外,还有很多例如卡牌类、SLG类等游戏。

 

 

为吸引更多玩家,游戏厂商在提升游戏体验和品质方面费尽脑汁,底层资源需求随之越来越大,且针对性更强,游戏行业上云在业内早已达成共识。

 

云计算可以很大程度帮助游戏厂商完成底层资源的技术提升和降本增效,其中弹性计算尤为重要。

 

2.  游戏服务对弹性计算的需求

 

一款新游上线,需要提供多种类型的服务,一般情况下会有平台服务、运营BI服务、游戏服务等。在这些服务中,对游戏玩家体验影响最大的是“游戏服务”,也是新游最核心的部分。

 

 

在大多数游戏项目中,从弹性计算角度来看,游戏服务主要有三种形态:

 

a.  单体架构

单体架构是早期非常普遍的架构,其特点是简单并且容易构建。游戏厂商只需要专注于业务本身,将底层能力全部交给云计算厂商即可,这种架构至今仍然有很多公司在沿用;

 

b.  单体 + 非核心业务形态

这种架构是目前游戏服比较常见的架构,它继承了单体架构的特点,并且将非核心的业务进行拆分,然后以组为单位进行开服;

 

c.  面向服务的架构

使用这种架构需要一些技术栈,将游戏服务模块化,可以提高开发效率,但不适合电竞类、战斗服等场景;同时,由于其架构的复杂性,出现延时高等性能问题的概率较高,很多游戏厂商不愿冒险为之。

 

在电竞类、MMORPG类等场景中,比较常用的是前两种架构,厂商更愿意将主要精力放在游戏业务本身,把底层能力交给云计算厂商。

 

二、 案例分享:弹性计算助力完美世界新游弹性上线

 

1.  项目背景

 

完美世界是一家全球领先的文化娱乐产业集团,集团主要业务覆盖了游戏、电竞、影视等业务板块,其中最主要业务是游戏板块。

 

完美世界代表游戏作品

 

2021年,完美世界在阿里发行了多款新游,其中包括ARPG游戏《战神遗迹》,以及MMORPG轻科幻题材开放世界类游戏《幻塔》,另外还有由完美电竞出品的线上对战平台《完美世界竞技平台》,并且拥有CSGO,DOTA2在中国大陆地区的独家运营权,每年都会主办一些电竞赛事,吸引了全世界电竞爱好者参加。

 

下图是完美世界去年上线的一款MMORPG类S级新游的整体架构:

 

 

该游戏框架涉及的核心服务分别是平台服务、运营BI服务、游戏服务、排行榜等;除此之外也搭建了各种服务的的容灾和备份。

 

2.  项目挑战

 

该游戏为了提供极致性能体验、低延时、单服承载数千玩家,决定将每个游戏服部署在一台1T内存的超大规格云服务器上,这一点对云服务器ECS提出了非常大的挑战:

 

  • 单个服务器需要提供足够的配置和性能承载数千名玩家,支持每个玩家的高资源需求;
  • 在使用大内存实例的情况下,要提供超强稳定性以保障业务无间断、无损运行;
  • 开服期间需要多个可用区提供数万核资源,通过弹性能力满足游戏高峰期、低峰期、稳定期切换时的开服和合服需求;

 

游戏服需要满足以上核心需求以达到既定的效果,为此,阿里云提供了有针对性的解决方案。

 

3.  解决方案

 

a.  优势一:极致性能,第七代IceLake实例

 

针对游戏服CPU的高性能需求,经过多轮选型测试后,最终决定采用2021年发布基于神龙架构的第七代实例。

 

神龙架构稳定运行四年,多家云厂商功能、性能测试第一名,总分远超其它竞争厂商

 

  • 处理器:采用第三代Intel® Xeon®可扩展处理器(Ice Lake),基频2.7 GHz,全核睿频3.5 GHz,处理器与内存比1:8;
  • 支持开启或关闭超线程配置,支持ESSD云盘;
  • 支持IPv6,超高网络PPS收发包能力2400万,50G网络带宽;
  • 支持vTPM特性,依托TPM/TCM芯片,实现从服务器到实例的启动链可信度量,提供超高安全能力;
  • 适用场景:

  --高性能需求游戏场景、高性能数据库、内存数据库等;

ž   --高网络包收发场景,例如视频弹幕、电信业务转发等;

ž   --数据分析与挖掘、分布式内存缓存;

ž   --安全可信计算场景;

 

在性能测试期间,使用specint等benchmark模型对cpu进行了压力测试,业务层面采用了多个机器人生成器,向单台游戏服并发访问进行性能测试,模拟玩家游戏的场景,测试结果完全满足客户需求,并且遥遥领先于其它几家云计算厂商。

 

b.  优势二:稳定性保障,业内首创1T游戏服无损迁移

 

针对稳定性需求,主要依托于阿里云强大的稳定性体系,提供的能力包括:

 

  • 定期运行基于AI模型的日常扫描,排除软硬件的潜在故障后,做到及时发现及时解决,并进行必要的调度;
  • 通过强大的资源大盘能力将资源高度打散,按照核心业务和非核心业务进行区别化打散,最大程度降低单点故障造成业务损失;
  • 通过无损迁移能力,防止业务中断,而且在该项目中使用了业界首创1T超大内存无损迁移能力;

 

高级迁移特性

 

  • 灵活迁移模式:根据VM的负载类型以及NC的压力状况,灵活选择匹配的热迁移模式;
  • 神龙机型热迁移:神龙虚拟机提供业界首创的直通设备热迁移能力;热迁移稳定性:
  • 超大规格VM迁移过程中,保持业务不抖动。

 

关键热迁移成果

 

  • 通过故障预测和热迁移实现ECS世界领先的稳定性SLA(99.975%);
  • 故障无感规避率:95%+;

 

c.  优势三:资源规划、多地域、压测保障、批量开服

 

除了提供以上能力外,在整个项目中还进行了一系列系统性的工作:

 

 

  • 容量初估/Buffer预估:

按照单台gameServer设计承载用户量和预计总用户量估算各模块资源使用量,按照历史经验确定预留buffer资源;

 

  • 实例选型:

按照各业务特性确定合适实例规格,配合规格规划(升级换代)、资源铺货量和客户需求时间点,推荐7代或者7代高主频实例+ESSD,例如电竞类我们会推荐7代高主频实例,满足电竞单线程性能和快速反馈体验需求,如MMORPG类游戏我们会推荐7代实例满足高配置,高性能需求;

 

  • 地域和可用区规划:

确定目标地域的合适可用区,确保可用区有充足的机柜资源,选取生命周期更长的可用区,保障S级游戏后续生命周期顺利扩展;

 

  • 压测保障:

专业团队保障上线前多轮压测,从功能、性能、稳定性等多层角度进行验证和性能压测,阿里云提供压测工具,或者客户自有压测方式进行上线前保障;

 

Ÿ   保障开服或合服:

确定规格和资源量后,确定批量自动开服方案,结合云上弹性特性,和游戏业务高峰和低峰期相配合保障业务能够正常开服或者合服,推荐ROS+OOS方案。

 

4.  客户价值

 

结合以上方案能力和全程的保障支持,客户业务侧也得到了相应的业务价值,包括:

 

 

a.  极致性能体验

神龙架构第七代实例,高性能、低延时体验;

 

b.  业务无中断

超强稳定性能力,超大内存规格无损迁移能力;

 

c.  承载百万级玩家

多可用区数万核资源供给,保障快速开服。

上一篇:《Unix 网络编程》06:IO复用之select/poll
下一篇:没有了
网友评论