游戏服务器伸缩 GSE

游戏服务器伸缩 GSE

稳定、安全、弹性、高性能的有状态的游戏服务器托管服务

跨平台专用游戏服务器托管服务

游戏服务器伸缩产品详细信息

游戏服务器伸缩 GSE 提供专用游戏服务器托管服务,支持有状态的游戏服务部署和扩缩容,实现服务发现、以天为周期的高效灵活的服务器伸缩,以及就近调度的能力,帮助开发者快速构建多人游戏的部署环境,并节约大量的运维成本,支持 Unreal、Unity 引擎,C#、C++ 以及 gRPC 支持的任何语言的 server 框架部署和运行。应用于FPS、MOBA、回合制、MMORPG、棋牌游戏中战斗服、登录服等需要保持状态的场景。

功能

游戏服务器伸缩提供专用游戏服务器托管服务,支持有状态游戏的服务器的部署、弹性伸缩、就近调度。

程序部署和更新

程序部署

开发者可以通过游戏服务器伸缩上传程序代码包和依赖,将程序部署到服务器舰队(fleet),并根据配置启动。

不停服更新

游戏场景一般会停服更新,但游戏服务器伸缩提供别名机制,可以实现不停服更新。

A/B Test

可轻松实现 A/B Test,或者结束 A/B Test。

服务器实例管理

弹性伸缩

  • 以一天为周期进行弹性伸缩:支持设置服务器实例类型和伸缩范围,将服务器实例在这个范围内进行伸缩。游戏的访问每天都有高峰和低谷,通常在中午和晚上时,服务器实例的数量将有一个高峰,在午夜后,服务器实例的数量会降到最低。游戏服务器伸缩将根据每天每个时刻服务器的访问量进行自动伸缩。
  • 有状态的缩容:游戏服务器伸缩不会缩减有进程运行的实例,低负载触发缩容时通知游戏进程正在缩容该台服务器,并屏蔽新的游戏服务器会话分配到该台服务器上,但不强制缩减实例致客户端无法连接,等待游戏进程发起结束指令后,才真正触发停止进程和回收服务器。

多地部署

支持多地部署,在多个地区构建服务器舰队,构建成一个服务器舰队的队列,当请求队列时,系统自动选择运行正常地域的服务器舰队,供游戏客户端访问,开发者也可手动调整舰队优先级。某个地域出现故障后,短时间内切换到其他地域。

全球发布

游戏服务器伸缩在上海、北美等地部署,即将部署在更多区域。

进程管理

进程启动

游戏服务器伸缩按照页面配置的进程启动路径、启动参数、允许并发进程数,将进程启动起来。

进程准备就绪

进程启动后,调用 API 告知游戏服务器伸缩,进程准备就绪,可以接受访问。

进程健康检查

游戏服务器伸缩定时对进程进行健康检查,如果进程不健康,会屏蔽进程,将不会再被分配给调用方。

进程结束

  • 当游戏服务器伸缩需要缩容,或者健康检查失败时,会通知进程结束。进程可以选择是否结束,如果进程没有当即结束,游戏服务器伸缩可根据页面配置的保护策略来处理进程。
  • 进程也可以主动调用 API 告知 GSE 结束。

游戏服务器会话管理

游戏服务器伸缩对游戏服务器会话进行管理和分配。从业务上看,一个游戏服务器会话代表游戏的一个对局,更广泛代表一个服务;从后台程序上看,游戏服务器会话对应一个进程,游戏服务器伸缩根据配置预先启动进程,通常一个进程对应一个游戏服务器会话。客户端通过云 API 请求为客户端分配一个游戏服务器会话,游戏服务器伸缩会将游戏服务器会话分配在一个空闲的进程上。

游戏服务器会话开始

当调用方请求游戏服务器会话时,游戏服务器伸缩会分配一个空闲、健康的进程来开始游戏服务器会话。

游戏服务器会话结束

当游戏服务器会话上没有玩家,或者游戏服务器会话不健康时,游戏服务器会话会主动或者被动地结束,在结束前会保存日志,方便开发者查找问题。

游戏服务器会话的就近分配

游戏服务器伸缩可以根据网络延时选择离玩家最近的地域分配给玩家。

服务器根据可用的游戏服务器会话比例进行伸缩

游戏服务器舰队上可以配置游戏服务器会话缓冲作为弹性扩缩容条件,游戏服务器会话缓冲即游戏服务器会话可用比例。

监控和日志

系统提供服务器实例(CVM)监控、游戏服务器会话监控和操作日志。