阿里云架构师解读四大主流游戏架构

阿里云架构师解读四大主流游戏架构,第1张

游戏 行业是阿里云最早聚焦的行业之一,近年来 游戏 行业的变化、云计算产品技术的变化都与日俱进。随着行业业务的变化、技术架构的演进以及阿里云产品的迭代演进,整体的产品技术选型在不同的 游戏 场景、业务场景也不尽相同。本文将聚焦阿里云d性计算产品在 游戏 行业的方案实践经验。

当前, 游戏 行业的各种场景和行业发展密不可分。简单回顾电子 游戏 的发展,80年代的黑白机,90年代的PC单机 游戏 ,00年代前夕随着互联网的发展网络 游戏 开始盛行,2010年后随着移动设备的逐渐普及,手游在国内开始兴起。

从 游戏 终端来区别,主要有:主机 游戏 (往往是3A 游戏 )、PC 游戏 、移动 游戏 和网页 游戏 等。目前出现跨平台多端 游戏 ,以及云 游戏 化的趋势。

关于 游戏 的品类区别会有非常多的维度:RPG(角色扮演)、MOBA类、竞技类、FPS(射击类)、休闲类、卡牌类、棋牌类、SLG(策略类)等等。目前有多品类融合玩法裂变的趋势。

随着国内防沉迷、版号因素,近年来 游戏 行业诞生了越来越多的精品 游戏 ,出海全球化乃至区域化,以及整体存量用户增速放缓,长线运营、精细运营以及私域社区等运营方式也在悄然变化。

不同的业务场景技术架构不尽相同,如竞技类 游戏 和卡牌类 游戏 对计算的需求就有所区别,云 游戏 与常规的网络 游戏 架构也有所区别。这里主要从 游戏 服和 游戏 平台、大数据、云 游戏 这四个目前常见的场景简单介绍其架构。

游戏 服,从 游戏 类型来看有RPG、FPS、MOBA、SLG、棋牌、休闲等等;从 游戏 平台来看通常有主机、手机、PC等;从业务发行来看有全球、国内、海外,从部署架构来看有集中部署和分区部署;从技术架构来看, 游戏 行业也有逐渐分层解耦的趋势,但与互联网应用相比,有一定其独特性。

因为 游戏 的强交互性特点, 游戏 技术架构与其他互联网应用相比有一定独特性。 游戏 需要保持会话连接,也就是从一个客户端到服务端的长连接,便于对客户端中玩家的 *** 作、行为等进行及时的反馈以及推送给共同 游戏 或对战的其他玩家,所以 游戏 普遍对网络质量更加敏感,网络质量较差的情况会使长连接断开或重连,引起玩家掉线。 游戏 也需要保持会话的状态,既服务端会保持一份玩家的实体,当玩家进行 *** 作时,下次通信的数据会依赖之前的通信的数据,这也是一些MMO(多人在线)大型 游戏 对网络吞吐性能要求较高的原因之一。再比如FPS、MOBA类等多人对战类 游戏 ,交互性更强,对网络延迟容忍度更低,要求低延迟。因为 游戏 需要比较高密度的记录玩家的 *** 作以及结果,所以有频繁写入数据的特点,这类场景需要较强的IO性能。因为 游戏 强交互性、低延迟的特点,其技术架构也和互联网应用不同,在逐渐分层解耦的同时,需要保证 游戏 玩家的交互效果,同时也会依赖到底层服务器的计算能力。

这些都是 游戏 场景普遍存在的特点:长连接保持会话、保持状态、低延迟网络、高IO吞吐、高计算性能。

游戏 的部署架构会结合 游戏 业务特点、 游戏 运营需求来制定 游戏 服务,有分区分服、全区全服业务逻辑,分区分服还是全区全服,最大的架构差异在于数据是不是一套。而从部署方式看,主要是集中式部署和分区域部署。

集中部署就是不论 游戏 玩家在哪里, 游戏 服务集中在一个区域,适合对网络延迟要求通常不高的 游戏 类型,如休闲类;分区部署是指 游戏 服务器根据 游戏 玩家地域分布,分区域部署,方便就近接入,适合对网络延迟要求较高的 游戏 类型,如MOBA、FPS类。

典型架构

MMO类有高并发特点,大量玩家并发的高计算量负载对服务器的计算能力和稳定性有着极高的要求。同时MMO类 游戏 有着比较强的PVE或PVP特性,对网络延迟的容忍度较低。

其中网关服务器负责所有网络数据包的转发,通常是网络负载较集中的点,对于网络吞吐能力要求较高。单个 游戏 区承载玩家数量高,逻辑服务器通常按照场景地图来划分,规模再大会通过分区的方式实现。

数据中心服务器负责缓存玩家数据并异步入库,保障玩家客户快速获取和写入数据,对于可用性要求较高,需要配合应用层实现数据容错机制。

日志服务器承载了大区所有业务行为的日志收集及处理的压力,对磁盘写入性能要求较高,通常采用多台分组方式实现。

(1)MMO 游戏 服性能与稳定需求,建议使用最第7代ECS实例,根据实际需求选型c计算型(CPU与内存配比1:2)/g通用型(1:4)/r内存型(1:8),Intel Ice Lake 29GHz基频35GHz睿频提供超高性能,能更好地优化 游戏 体验。

(2)异步落库以及日志服务器,对于磁盘读写性能要求高的场景,建议云上使用ESSD PL 0/1/2/3根据业务性能需要选择,避免磁盘读写瓶颈。

(3)在 游戏 日常版本更新中,需要各个地域Region镜像的快速复制,基于ESSD快照异地复制的能力,能够提升镜像复制效率。

(4)分区分服等场景往往需要快速地开服滚服合服,通过CADT云速搭、ESSd性伸缩、OOS运维编排、ROS资源编排等云上运维工具搭配产品使用,能够提升云上运维效率。

ii FPS、MOBA类 游戏 架构介绍

MOBA类 游戏 主要包括PVP系统、PVE系统、 游戏 平台等几个主要部分,其中PVP战斗是MOBA/FPS 游戏 的核心。

PVP、PVE、 游戏 平台功能部署于同一VPC中,构成 游戏 大区;战斗服务器(往往)单独跨地域部署。

游戏 客户端首先接入到登录服务器中,完成登录认证、计费等 游戏 平台逻辑。为避免单点问题,所以 游戏 平台服务往往需要高可用方案。可利用云上高可用方案,包括便捷的运维工具满足业务高可用需求。

FPS/MOBA竞技 游戏 ,往往对延迟特别敏感,可以想象,竞技类 游戏 中对战的 游戏 场景:玩家 *** 控人物,在地图里步伐飘逸,q声密集,每一颗子d都是一次时间加上空间的矢量计算,而且需要在主进程中完成计算,那么算力需求就随着房间玩家数量上升而指数爆炸,5V5的房间和大房间100人(吃鸡)对算力的需求完全不同。

游戏 这部分重算力场景,推荐阿里云7代高主频或七代实例,更高的单核性能提供更好的战斗效果。

战斗房间类 游戏 ,因为业务本身峰谷特性,灵活地使用云上资源的d性能力,往往会较好地优化整体的资源使用成本。阿里云d性计算本身提供了非常灵活的付费方式,包括常规的按量实例、包月包年实例、以及通过节省计划/预留实例券去抵扣按量实例资源,兼顾资源灵活使用的同时达到更优的成本。

此外,为更进一步释放开发运维的效率,当前一些 游戏 也采用了容器化技术架构,阿里云的ACK+ECS/ECId性容器实例组合搭配使用,更进一步释放了基础资源的灵活性和d性能力。

业务场景

游戏 平台(不限于FPS、MOBA类)主要提供的服务:官网、客服、注册、登录、充值、兑换、商城、推送、公告、社区、SDK及邮件、短信等公共服务;包括内容审核、视频录制、d幕、转码、剪辑、RTC这些业务需要的基础服务,以及运维监控、发布平台、测试平台这些运维等平台服务。

这部分更接近于通用的互联网技术架构,以服务为颗粒度解耦,接入->网关->应用->数据库。

技术特点

这往往通常需要构建高可用基础架构来提升稳定性,业务突发期往往需要一定的d性能力。相比于 游戏 服务这部分容器化就更加普及,也更容易通过云上的比如d性容器实例去应对流量峰值场景。在视频录制场景,对实时性要求较高时,往往会基于GPU能力构建,这部分阿里云也提供了vGPU/cGPU能力,释放GPU的灵活性。

大数据是当前 游戏 业务经营、 游戏 运营主要的技术手段,主要面向平台数据运营、 游戏 数据分析、广告转化分析、安全运营分析等 游戏 核心运营场景。不同的场景对实时性要求不同,实时查询检索通常是经营分析、客户受理、玩家监测、在线等场景;离线报表通常是玩家行为分析、用户画像、特征挖掘等场景。

总体而言,实时性业务更多是业务查询类、简单计算类任务,比如买量转化的分析;离线类基本是分析类、预测类任务,比如 游戏 玩法分析。

从技术架构来看,得益于开源社区技术栈的高丰富度,大数据具体的技术选择非常之多,整体从存算一体到存算分离,也诞生像数据仓库、数据湖乃至湖仓一体等概念。

从数据架构流程来看,从数据源->数据采集、传输->数据计算、存储->数据应用,其中可选看技术方案也需要因地制宜。

从部署架构来看,不同的 游戏 公司处在不同的数据建设阶段,会有不同的选择倾向,包括完全自建、基于云自建大数据、基于云上托管、以及利用更多云上成熟的产品技术去丰富整体的大数据能力集,而后者也成为越来越多客户的选择。

拿云上大数据方案举例来讲,比如实时计算部分,选择SLS采集、Kafka数据网关通道,通过Flink做数据计算,通过ES或CK做数据分析,通过ADB以及QuickBI做数据应用展示。离线方案通过OSS做冷数据存储,Spark、Hive、HDFS等组件做数据计算存储,通过CK汇聚分析,通过Dataworks做数据应用。

具体计算存储的产品选型,主要根据不同的业务特性以及大数据应用特性来区分,根据数据容量、IOPS、吞吐、读写特点以及性价比来选择。

如刚刚举例的实时计算/近实时计算场景,Flink具备高性能、低延迟特点,所以是计算密集、网络性能高场景,推荐选型七代ECS实例或6代增强实例;如HDFS需要超大存储容量,高吞吐,推荐D系列本地盘实例,如D2S存储型本地盘实例。Remote Shuffle Service等处理结果多的场景,读写处理频繁如大量的join计算,需要综合来看计算、网络、存储性能以及综合成本来选择通用实例(如第7代ECS实例)或i系列本地盘实例。所以,最终在云上的资源选型,在性能满足的前期下,需要评估通过网络传输数据成本高(云盘),还是就地取材计算成本高(本地盘),不同模型、不同量级选择不同。

从内存处理(成本最高、性能最好、存储容量最小)、SSD本地盘、HDD本地盘、ESSD云盘、OSS对象存储(成本最优、性能一般、存储容量最大),逐渐分层解耦,还带来一个好处:充分释放了云上d性的能力,可以利用更轻巧的d性计算产品(如SPOT抢占式实例方式,或ECI容器实例)进行大数据计算,达到更好的d性能力去满足业务需求的同时也能节约更多的成本。

云 游戏 主要分终端和云端。终端部分基于Windows、iOS、Linux等 *** 作系统的终端设备包括手机、平板、电脑、电视机、VR一体机等。云端架构主要是 游戏 应用层、云 游戏 平台层、IaaS基础资源层,应用层包括PC 游戏 、手游、VR 游戏 、H5 游戏 等多种类型的 游戏 应用;平台层云 游戏 必须的运营平台、支撑平台、流化技术平台等;IaaS基础资源层包括基础网络、基于X86架构以及ARM架构的GPU服务器。

云 游戏 落地,在技术上也经历了诸多挑战,为满足端到端高性能低时延,网络调度、指令串流、编解码、多终端的SDK适配等等都是云 游戏 场景中不可避免的技术问题。

对于云端算力来讲,阿里云解决了云端渲染、串流以及编解码问题,并通过全系列GPU产品来满足云手游、端游、VR乃至企业级视觉渲染场景的需求。

总结来讲,阿里云d性计算通过云上的串流、编码加速、渲染加速等全套的技术帮助 游戏 客户给云 游戏 玩家提供更好的性能体验,通过基于阿里云全球数据中心可以帮助云 游戏 客户覆盖更多的用户,通过GPU多种产品形态和整体的d性能力,也帮助到 游戏 客户去更快捷更灵活的构建其云 游戏 业务。

阿里云通过多年的技术积累和持续的运营,提供了大规模的基础设施云服务,目前在全球部署了26个地域、82个可用区,通过优异稳定的性能表现帮助 游戏 客户高效稳定地运行 游戏 业务,为玩家提供极致顺滑的 游戏 体验,并通过技术手段不断地帮助 游戏 客户优化用云成本。

国内的业务出海、 游戏 出海也是现阶段大的趋势之一,很多 游戏 公司已经把出海从业务可选项变成了必选项之一。在2022年3月,阿里云上线了韩国和泰国两大Region,能够为本地化的 游戏 业务提供更流畅、更稳定的 游戏 体验,以此希望能在 游戏 客户出海的业务领域,提供更多的帮助。

当然,作为内容与 科技 两大热门领域的交叉领域, 游戏 产业日新月异,架构也随着前端业务的需要不断改变。阿里云d性计算也针对 游戏 厂商的不同架构,陆续推出了不同的云服务器类型和付费方式,以及云上运维套件,以帮助客户降本增效。

原文链接:>

做seo的人都知道服务器是什么,它的叫法有很多,例如虚拟主机、空间、VPS、地理服务器等等,服务器的稳定性直接影响着网站在搜索引擎的排名。服务器也是做网站seo的重要因素之一。

如果服务器的速度不稳定,就会影响网站的打开速度,对网站优化也有着重要影响,影响着蜘蛛爬虫的正常抓取,导致抓取频率降低,网站收录、索引,关键词排名都会直接下降。做好seo,就需要对网站进行细节化的工作,让网站的综合得分上升,这样关键词排名就会慢慢上升甚至稳定。

我们在选择服务器的时候一定选择好的服务器,这样才有利于网站的后期运行,那么,如何选择服务器呢?需要注意哪些事项呢?我们就来了解一下吧!

1、如果网站在国内使用,就不建议使用国外的服务器。是因为速度原因,一般来说,国内用户在访问国外服务器的网站打开速度会很慢。

2、除了速度以外,还需要考虑到服务器的稳定性,快速稳定的服务器可以保证用户和蜘蛛爬虫的正常浏览。那么,如何检查服务器的稳定性呢?有以下几种方法:百度平台抓取诊断工具、第三方平台网站速度测试工具等等。无论采用哪种方法,都要保证服务器的稳定性和速度。

3、服务器的正常设置。有些服务器的供应商已经设置了主机,所以可以直接使用。

4、如果想要建设一个优秀的网站,就不要为了省钱而选择一些不好的服务器。如果选择了,有可能会造成网站打开速度过慢,或者打不开网站。所以在选择服务器的时候一定要选择好的,这样才有利于搜索引擎的友好性。

想要做好网站seo,就必须要选择好的服务器,这样才有利于用户体验以及搜索引擎的喜欢。

您好!

选择网站服务器应该考虑几个因素!

第一,服务器服务器,建议选择大公司的服务器,比如阿里云,腾讯云,百度云等等。因为大公司的话,一般不容易垮掉。

第二,网站的服务区域,为什么说考虑这个?因为服务器都是按地区存放的。考虑好你网站的服务区域以后,选择服务器是要就近选择服务所在地!

第三,部署服务器时不用无用的东西占用服务器资源,这样才能保证网站的运营!

服务器主要是用来存放网站的源文件,数据的。服务器稳定,网站才能稳定,这样才有利于优化!

对优化好的服务器,可以考虑云服务器,独立ip,资源独享,可以远程配置服务器以及站点环境,安全稳定,也便于管理。需要一定的服务器运维能力。

主机侦探来回答一下:

首先,在选择之前,先确定下自己网站的需求,规模大小什么的先确定好,后续选择的合适的配置就可以,不用太高配,合适的网站空间与流量、Linux *** 作系统和cPanel的安全加密增加了的服务器安全性、最重要还是服务器的稳定,稳定性强速度快的云服务器就是你要选择的服务器。像bluehost服务器这块做的就是非常不错的,稳定性强,速度快,是非常多的站长选择的,现在上主机侦探通过专属链接加购更享超值~

对于一个正在正常运营的网站来讲,定期的SEO优化是非常有必要的,而且如果想要保证SEO优化对网站优化起到完美的优化结果,那么网站在建设初期所使用的服务器便成了关键。需要考虑的包括:服务器的性能,服务器的稳定性,服务器的安全性,服务器的访问速度。

以小鸟云香港高防云服务器搭建网站为例>

云服务器的配置规格影响价格,也直接决定了它的计算能力和特点,是在采购时要重点考虑的问题。

选云服务器配置,看这三个维度

云服务器的配置规格主要取决于类型、代别、实例大小三个最重要的维度。

维度一:类型

云服务器的“类型”或“系列”,是指具有同一类设计目的或性能特点的云服务器类别。
通常来说,云厂商会提供通用均衡型、计算密集型、内存优化型、图形计算型等常见的云服务器类型。这些类型对应着硬件资源的某种合理配比或针对性强化,方便你在面向不同场景时,选择最合适的那个型号。


vCPU 数和内存大小(按GB计算)的比例,是决定和区分云服务器类型的重要依据之一。

通用均衡型的比例通常是1:4,如 2核8G,这是一个经典搭配,可用于建站、应用服务等各种常见负载,比如作为官网和企业应用程序的后端服务器等。


如果 vCPU 和内存比是1:2,甚至1:1,那就是计算密集型的范畴,它可以用于进行科学计算、视频编码、代码编译等计算密集型负载。


比例为1:8及以上,就被归入内存优化型,比如8核64G的搭配,它在数据库、缓存服务、大数据分析等应用场景较为常见。


图形计算型是带有GPU能力的虚拟机,一般用于机器学习和深度学习模型的训练和推理。随着 AI的火热,这类机器也越来越多地出现在各种研发和生产环境中。


在主流云计算平台上,常常使用字母缩写来表达云服务器的系列。比如,AWS 的通用型是M系列,阿里云的内存优化型为R系列,Azure的计算优化型为F系列。

维度二:代别

云服务器的“代”(Generation),用来标识这是该系列下第几代的机型。
数据中心硬件和虚拟化技术是在不断发展的,云厂商需要不断地将最新的技术和能力推向市场,所以即便是同一系列的机型,不同的代别之间也会有不小的区别。


同类型云服务器的更新换代,往往会先带来相应硬件CPU的换代提升。由于CPU在不断更新,所以云服务器的单核性能未必相同。有时,虽然两个云服务器的核数一致,但由于底层芯片的架构和频率原因,性能上可能有较大的差别。


新一代的型号,往往对应着全新的特制底层物理服务器和虚拟化设施,能够提供更高的性能价格比。

维度三:实例大小

云服务器的实例大小(Size),指的是硬件计算资源的规模。
在选定的机器类型和代别下,我们能够自由选择不同的实例大小,以应对不同的计算负载。在描述实例大小时,业界常常使用medium、large、xlarge 等字眼来进行命名区分,这样的描述基本已经成为事实标准,包括AWS、阿里云、腾讯云在内的多家主流厂商都在使用。


大致可以这样记忆:标准large对应的是2vCPU的配备,xlarge则代表4个vCPU,而更高配置一般用nxlarge来表达,其中n与xlarge代表的4vCPU 是乘法关系。比如,8xlarge 就说明这是一台84=32vCPU的机器。


如若要更严谨的表述配置,则使用vCPU而非核数(Core)来描述云服务器处理器的数量。因为超线程(HyperThreading)技术的普遍存在,常常一个核心能够虚拟出两个vCPU的算力,但也有些处理器不支持超线程,所以 vCPU是更合适的表达方式,不容易引起混淆和误解。


在某些场景下,你可能还会看到“metal”或者“bare metal”这样的描述规格的字眼,中文称为“裸金属”。它们就是云服务商尽最大可能将物理裸机以云产品方式暴露出来的实例,主要用于一些追求极致性能,或是需要在非虚拟化环境下运行软件的场景。

云服务器的命名规则

云服务器的型号名称一般由类型、代别、实例大小这几项的缩写组合而成,有时还会带有补充后缀。AWS的命名规则最具代表性(阿里云采用的也是非常类似的格式):

当你理解了云服务器的命名规则后,今后看到某个具体型号,便能够很快明白背后的含义,晦涩的字符串立刻变得清晰。


比如,分解r54xlarge这个型号,这首先是一个R类型第5代的内存型机器,它应该有4×4=16个vCPU,内存大小则是16×8=128G(内存型机器的CPU内存比一般为1:8)。


当然,并非所有的云都一定是采用类似 AWS 的命名规则,微软Azure就用了一个略有不同的命名体系,大致可以总结为:

比如“E4v3”,就代表了微软Azure上4核32G的第三代内存型机器。掌握了Azure的格式特征后,你同样能够很快地解读标识的具体含义。


在命名公式中,还有一个称之为“后缀”的可选部分,在许多的型号命名中都能看到它。它一般是作为型号硬件信息的一个重要补充,这种型号与不带此后缀的标准版本相比,有一些显著的区别或特点。比如阿里云,表达“网络增强”含义的后缀是“ne”。

如何验证机型配置与期望相匹配?
在Linux环境下,可以使用lscpu命令来了解云服务器的CPU信息,并与机器的具体型号名称进行对照。下图是在一台AWS的m5axlarge机型上运行的结果,可以看到芯片提供商AMD及双核四线程等关键信息,与机型命名的含义相符:

>

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13070371.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-30
下一篇 2023-05-30

发表评论

登录后才能评论

评论列表(0条)