了解Edgegap的工作原理

了解Edgegap的工作原理

弹性伸缩

弹性伸缩(Auto scaling)会随着玩家需求的涨落自动增加和减少游戏服务器容量。该策略决定了何时启动服务器、在需求出现前保留多少缓冲空间,以及在此之后多快释放容量。调校得当,它便无形无感;调校不当,则会导致排队或机器闲置。

又称

自动弹性伸缩

由

由

由

雅库布·莫蒂尔

雅库布·莫蒂尔

雅库布·莫蒂尔

,

产品总监

产品总监

产品总监

已发布

已发布

已发布

在多玩家游戏中,自动伸缩(Auto Scaling)主要缩放什么?

在多人游戏中,需求的基本单位是比赛。玩家排队,匹配系统将他们分组,然后该小组需要一个服务器。

比赛包含实时状态,无法在服务器之间拆分,也无法在游戏进行中进行迁移而不被玩家察觉。因此,关键的数据不是服务器有多忙,而是它们还能容纳多少场比赛。一个 CPU 占用率为 30% 但比赛已满员的服务器无法再接纳另一场比赛。这就是为什么游戏服务器缩放通常会关注空闲容量:开放的比赛席位,或准备就绪并处于等待状态的服务器。

这种容量可以通过两种方式获得。拥有一批机器并提前根据需求进行缩放,或者在比赛需要时为每场比赛启动一个服务器,这取决于服务器的启动速度(即其冷启动)。

Auto Scaling 策略决定了什么?

而不仅仅是“多少”。策略决定了何时增加容量、增加多少、在何处增加以及何时收回:

  • 缓冲空间 (Headroom):在需求到来之前保留的空闲容量,用于应对在新容量启动期间到达的匹配需求。

  • 阈值与限制:触发变化的条件,以及不可逾越的最小值和最大值。

  • 位置:高峰会随着时区而移动。位置不对的容量无法缩短任何人的排队时间,而且远离玩家的服务器游戏体验更差。弹性伸缩不仅是上下伸缩,还包括横向扩展,跨越不同位置以及将玩家路由到这些位置的网络。

  • 释放:一旦需求下降,容量收回的速度有多快。

这些都不是一成不变的。请求率、启动时间、匹配时长和玩家延迟都在不断变化,因此在大规模运营中,策略是根据实时数据做出的一连串决策。

定义中的两种失败模式都会留下特征。高峰期排队意味着容量到达太晚或位置不对。低谷期的空闲机器意味着容量释放太晚。第二种情况更容易被忽略,因为没有玩家会对此进行报告。

为什么缩减规模比扩大规模更难、成本更高?

向外扩展(Scaling up)会增加一台服务器。而向内收缩(Scaling down)则必须等待其中一台服务器排空。

托管多个对局的机器只有在其最后一个对局结束时才能被释放。对局结束的时间错落不齐,因此在高峰期过后,机器会部分排空。这部分闲置的“尾巴”是处于付费状态但未托管任何人的容量,而持久化世界(persistent world)可能永远无法排空。

缩短这个“尾巴”有两种方法,但每种方法都有其代价:

  • 装箱(Packing)。 新的对局会优先分配到负载最满的机器上,这样负载最空的机器就能更快排空。

  • 提前结束对局。 这意味着强制结束玩家的对局,这就是为什么缩放器(scaler)通常会对正在运行的对局提供保护。

将对局合理安置在机器上以使其干净利落地排空,就像是一场全天候进行的俄罗斯方块游戏。如果选择自建托管,工作室的开发人员需要负责构建和调优。如果采用编排服务,这一切都是自动化的:混合服务商将用于稳定负载的预留容量与用于应对高峰的按需容量相结合,按需容量会随着其对局的开始和结束而启动和停止。自主研发是否值得投入开发时间是一个成本问题,而 价格页面 为现成的解决方案提供了一个明确的参考数值。

服务器启动时间如何影响自动扩展?

预留空间之所以存在,是因为新增容量需要时间。当服务器需要几分钟才能启动时,策略就会在每个地点保留几分钟的需求量作为备用。

当服务器在几秒钟内启动时,游戏匹配在需要时即可立即获取。预留空间变成了预留容量:这是一种成本决策,值得在保持繁忙的地方保留。它对另一半也大有帮助。为单场匹配启动的服务器会在该场匹配结束时关闭,因此没有多余的尾部资源流失。大多数游戏都将两者结合:以适合稳定负载的基础规模为底线,超出该规模的所有部分按需提供(混合编排)。

在 Edgegap 的边缘云(Edge Cloud)上,服务器启动的中位数时间为 2 秒,且在 60 分钟的基准测试中,该平台维持了每秒 40 次部署(平台数据:截至 2026 年 9 月 18 日的滚动 30 天;2023 年 11 月)。与匹配绑定的服务器在匹配结束时停止,按分钟计费。

想要在具有成本效益的预留容量(私有集群,58 个地点)与按需容量(Edge Cloud,全球 615+ 个按需地点)之间进行优化的工作室,可以通过 Edgegap 的混合编排来实现。

来自我们的赞助商(其实就是我们自己!)的寄语

发布和病毒式流量暴增不会一次只冲击一台服务器。在一次60分钟的基准测试中,Edgegap在整整一个小时内,在550多个地区和17家运营商中每秒启动40个游戏服务器。因此,玩家涌入会直接转化为在线对局,而不是漫长等待的玩家队列。

Edgegap 的观点(仅代表个人意见,姑且听之即可!)

扩大规模只是决定的一半

每个编排器都会进行扩容。但另外两个问题将决定它是否适合您的游戏。

新增容量部署在哪里?扩容必须随着高峰的移动,实时根据玩家的位置和网络路由来进行。

它停止得有多快?超出比赛寿命的容量在无人使用时仍会被计费。

Edgegap 针对每场比赛解答了这两个问题。每次部署都会在请求时分配到边缘云(Edge Cloud)网络上最佳的可用位置,中位启动时间为 2 秒,并在比赛结束时停止。负载稳定的工作室可以预留私有服务器(Private Fleet)主机,并在超出预算时分流到边缘云。

就您的尖峰时段以及其后的一小时,向任何供应商提出这两个问题并要求提供具体数据。

-

-

-

雅库布·莫蒂尔

雅库布·莫蒂尔

雅库布·莫蒂尔

,

产品总监

产品总监

产品总监

常见问题

负载均衡器和弹性伸缩(自动扩展)之间有什么区别?

自动扩缩容是免费使用的吗?

游戏服务器应该进行水平扩展还是垂直扩展?

我可以在 Kubernetes 上自动缩放游戏服务器吗?

Get your Game Online Easily & in Minutes

立即开始集成!

轻松在线游戏
且在几分钟内