了解Edgegap的工作原理

了解Edgegap的工作原理

Kubernetes

Kubernetes 是一个用于自动部署、扩展和操作容器化应用程序的开源系统。它是为长期运行的 Web 服务而设计的,而不是为短期运行的匹配服务器设计的,这就是为什么在其之上存在诸如 Agones 等针对特定游戏的层的原因。其功能强大、通用且操作实体庞大。

又称

k8s

由

由

由

雅库布·莫蒂尔

雅库布·莫蒂尔

雅库布·莫蒂尔

,

产品总监

产品总监

产品总监

已发布

已发布

已发布

在多玩家后端中 Kubernetes 的用途是什么?

多人游戏后端的大部分内容都是 Web 服务:登录、大厅、商店、库存、排行榜和匹配 API。它们本身不保留任何状态,在毫秒内响应请求,并且可以随时停止和更换。这就是 Kubernetes 为之量身打造的工作负载,也是工作室最常使用它的地方。在 2024 年,KRAFTON 描述了如何在 Amazon EKS 上将《绝地求生》(PUBG: BATTLEGROUNDS)的大厅作为 .NET 微服务运行(AWS re:Invent 2024, GAM311)。

比赛本身则截然不同。游戏服务器保存着整个会话的实时状态,如果不结束比赛,就无法移动或重启它。为了安全地运行游戏服务器,Kubernetes 需要在其上添加一个专门针对游戏的层,这正是 Agones 所补充的内容。

文章的核心洞察

  • 基础设施现代化目标:KRAFTON 旨在通过从基于会话的游戏服务器切换到现代的基于容器的游戏服务器编排,消除运营瓶颈,并提升全球各地区数十万并发玩家的可扩展性。 

  • Agones 扩展限制:这个开源游戏服务器编排平台在扩容高峰事件期间会出现 15 分钟的启动延迟。KRAFTON 的工程团队在定制解决方案上投入巨大,通过容器镜像仓库代理和采用 Karpenter 将其缩短至 3-4 分钟。而开发者只需使用像 Edgegap 这样的全托管解决方案,即可让游戏服务器从冷启动到可用平均仅需 3 秒。

  • 运营效率收益:容器化将环境配置时间缩短到 5 分钟以内,并启用了自助能力。团队无需 DevOps 介入即可自主访问测试基础设施。

  • 隐性资源影响:这段现代化历程耗费了多年的专业工程投入,而这些投入本可用于改进游戏玩法。大多数工作室在保持有竞争力的开发周期同时,无法承担如此级别的基础设施投资。

  • 托管平台替代方案:全托管解决方案在无需内部复杂性的情况下即可提供同等甚至更好的性能和扩展能力。通过使用像 Edgegap 这样的平台,工作室可通过简单集成而非多年实施项目来获得企业级基础设施。

自行托管游戏服务器的 Kubernetes 涉及哪些内容?

建立集群是快速的部分。Amazon EKS、Google GKE 和 Azure AKS 等托管服务为您运行控制平面。而留给工作室的,则是在三个方面不断增加的工作量。

  • 按区域。Kubernetes 的设计是让一个集群跨越单个区域的多个可用区(Kubernetes 文档)。玩家并不仅存在于一个区域,因此一款全球性游戏会在每个区域运行一个集群,每个集群都有自己的节点、舰队、容量缓冲区和故障模式。

  • 按版本。Kubernetes 维护其最新的三个次要版本,每个版本的补丁支持大约一年(kubernetes.io;1.37.1 版本于 2026 年 9 月 15 日发布)。每个 Agones 版本支持三个 Kubernetes 版本(Agones 文档),因此这两个版本在每个区域集群中一起推进,且其更新日程不会等待任何人。

  • 按节点。节点必须以足够快的速度启动以满足需求,并且服务器镜像必须快速到达节点。每个节点都需要一个玩家可以访问的公网 IP,这也使其暴露在 DDoS 攻击之下。此外还需要加上安全补丁、监控以及值班人员。在裸金属服务器上,控制平面和硬件同样需要您自己负责。

这些都不是异常的工作。它是持续进行的,并且会随着您运营的每个区域而倍增。

什么时候自己运行集群才合理?

在集群已经存在的情况下,这是合理的:一个在 Kubernetes 上运行其后端服务、拥有运营人员,并希望在同一平台上运行游戏服务器的工作室。这也适用于需要将服务器保留在自己云账户内的工作室。

对于其他所有人来说,问题在于你需要多少个区域,以及由谁来保持这些区域的最新状态。共享网络将这项工作分摊到许多工作室:Edgegap 的网络跨越 17+ 家服务商的 615+ 个位置(平台数据,截至 2026 年 9 月 18 日)。要将自托管编排与托管平台进行比较,请参阅 Edgegap vs Agones。

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

区域只是对玩家所在地的一种预测。Edgegap 的边缘云(Edge Cloud)是一个分布式、多云网络,由 17+ 家服务商提供的 615+ 个节点组成,可按需使用。当游戏对局开始时,每个服务器都会在网络中最合适的可用节点上启动,而不是在仅有的几个区域中选择最近的一个。

常见问题

Kubernetes 需要 Docker 吗?

Kubernetes 可以运行 Windows 游戏服务器吗?

运行游戏服务器需要 Kubernetes 吗?

了解更多

最受欢迎博客,来自

最受欢迎博客,来自

后端深度解析

后端深度解析

Get your Game Online Easily & in Minutes

立即开始集成!

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