#3906·agones

Kubernetes - GameServer 原生服务负载均衡器支持

作者: stevefan1999-personal创建于 2024年7月16日更新于 2026年9月15日
标签kind/feature

虽然我赞赏 Quilkin 它基于 Rust 并以安全性为导向,但显然对于许多其他更通用的游戏服务器用例来说,它不是一个可行的选择,要么它只适用于某些特定的领域,专门为该代理设计,要么如果您能容忍低性能。不仅它具有高抖动和高尾部延迟,而且它的设计如何仅处理 UDP 流量,还需要不必要的流量分析器/过滤器,这些过滤器往往会增加性能上的臃肿 — 显然这不是一个适合电竞的方案,根据我对 CS2 的测试,而且最糟糕的是,并非所有游戏服务器都使用 UDP,例如 Minecraft (它使用 TCP 端口 25565) 和其他基于 WebSocket 的游戏服务器,如 Web 浏览器中的 Q3A。因此,我建议在 Agones 控制器中,通过使用 ownerReference 来将 `GameServer` 导出,以自动生成一个专门属于 `GameServer` 的 `Service` 和 `LoadBalancer` 类型,这样在 `GameServer` 被删除作为垃圾收集的一部分时,也会自动终止 `Service`。我们还需要处理标签和注解,以便在负载均衡器中进行附加,因为负载均衡器 IP 地址的强制分配通常是通过注解来处理的。

内容来源: agones-dev/agones