您好,欢迎访问上海聚搜信息技术有限公司官方网站!

当前位置: 首页 > 新闻资讯 > 聚搜动态

如何让游戏不停服更新,您可以这样构建游戏环境。

时间:2020-06-12 09:39:29 点击:
  游戏服务器引擎(Game Server Engine,缩写GSE)提供专用游戏的服务器托管服务,支持有状态的游戏服务部署和扩缩容,实现服务发现、高效灵活的服务器伸缩和就近调度的能力,帮助开发者快速构建稳定、低延时的多人游戏的部署环境,并节约大量的运维成本。
支持Unity引擎、Unreal引擎和自定义游戏框架的部署和运行,应用于 FPS、MOBA、回合制、MMORPG、棋牌游戏中战斗服、消息 PUSH 等需要保持状态的场景。

1. 弹性伸缩
每天有高峰、波谷,每年有节假日,周末等。玩家曲线动态变化。
游戏每日波动曲线
游戏每年波动曲线
(1)GSE能将服务器实时伸缩
GSE 可设置服务器实例类型和伸缩范围,实例将在这个范围内进行伸缩。游戏的访问每天都有高峰和低谷,通常在中午和晚上时,服务器实例的数量将有一个高峰,在午夜后,服务器实例的数量会降到最低。GSE 将根据每天每个时刻服务器的访问量进行自动伸缩。
(2)GSE能实现有状态的缩容
GSE 不会缩减有进程运行的实例,低负载触发缩容时通知游戏进程正在缩容该台服务器,并屏蔽新的游戏服务器会话分配到该台服务器上,但不强制缩减实例导致游戏无法进行,等待游戏进程上没有玩家在对局时,发起结束指令后,才真正触发停止进程和服务器的回收。
弹性伸缩的好处是:
· 提高灵活性
-就近调度,需要时去拿服务器,不需要时退回服务器。
-容灾也是一样,需要时去拿服务器,不需要时退回服务器。
· 节省成本
-减少每天、每周、每年空闲资源成本,经计算可节省20%-30%的成本
-减少就近调度的成本
-减少容灾的成本
2. 就近调度
弹性伸缩是一个基本前提,强大的调度资源能力在此基础上延伸,可以随时调度腾讯云各个区域的资源,从而不需要在各个区域提前预留服务器资源,这让就近调度变得简单。
GSE提供客户端到服务端的测速,获得客户端到所有服务部署区域的延时,GSE通过这个延时情况进行就近调度。
下面可以看到一组匹配好的玩家,会被分配到最近的服务器进行对战。北京、上海、广州、成都刚开始都可以部署1台服务器,和配置好伸缩策略,这样在需要时就能自动伸缩。
3. 多地部署,跨区域容灾
弹性伸缩是一个基本前提,GSE可以随时调度腾讯云任何区域、任何机型的资源,从而轻松做到容灾。游戏服务器队列下面包含了各个区域的游戏服务器舰队(一组服务器),业务只需要请求游戏服务器队列,游戏服务器队列会根据每组游戏服务器舰队的健康状态和客户端到服务器的网络延时情况,会自动剔除到有问题的区域,选择正常的服务器来提供服务,正常区域如果需求旺盛,则会自动扩容。不需要提前在多个区域部署相同数量的服务器,从而达到0成本容灾的效果。
4. GSE和普通弹性伸缩的区别——GSE专注于有状态扩缩容场景
游戏中有两个特殊需求:断线重连、游戏中不能退出。一般游戏服务器都是有状态的,如何进行缩容呢?
GSE的设计对游戏服务器有三种保护策略:
1)全保护 :果有进程在运行的话,不会缩容
2)不保护:需要缩容时,立即缩容
3)时限保护:保护一定期限,比如1个小时
5. GSE更新不停服设计
GSE拥有极致的资源调度能力,能够轻松做到更新不停服。
客户端通过别名alias请求服务器舰队fleetA下的服务器,版本更新的时候,新建服务器舰队fleetB,把版本发布到fleetB上,并把别名alias指向新建的服务器舰队fleetB,客户端仍然调用同一个别名alias,但访问到fleetB的版本了。FleetB逐渐扩容,fleetA逐渐缩容。
以上内容就是游戏服务器引擎Game Server Engine的设计了。您可以单独使用弹性伸缩、弹性伸缩+就近调度、弹性伸缩+容灾。该产品不侵入游戏框架、逻辑代码,支持unity引擎、unreal引擎,自定义服务器框架、开源框架运行,支持C++、C#语言,支持JAVA、PHP、python、lua、Nodejs等支持grpc的语言。
阿里云优惠券领取
腾讯云优惠券领取

热门文章更多>

QQ在线咨询
售前咨询热线
133-2199-9693
售后咨询热线
4000-747-360

微信扫一扫

加客服咨询