站务联系

如何运维千台以上游戏云服务器

发布时间:2021-03-14   来源:网络整理    
字号:

来自上海游族网路的维保主管李志勇,在3月4日云栖社区中带给的分享“如何维保千台以上游戏云服务器”。本次分享重点是云时代的维保,包括游戏上云布署整体方案、游戏服务器批量运维管理,并对企业选择RDS还是自建MySQL数据库给出了自己建议。

游戏产品构架进化史

如何运维千台以上游戏云服务器

图二:UJOBS构架及其游戏更新步骤

系统化维保过程中使用的作业平台(UJOBS)是属于C/S的构架,其核心部份由任务调度器跟agent组成,通过读取API插口完成多种形式的指令下发。UJOBS简略的来说是为服务器管理提供了执行命令的通道,将所有的执行命令跟脚本在目标服务器纵向执行完,把输出结果记录日志上面,同时可通过WEB界面实时查看剖析。任务调度器是拿来全局策略控制游戏服务器,进行并发量控制。任务列表上面保存任务的完整信息。指令库房保存常用的命令个脚本跟上下文关联的命令组合。

在UJOBS平台上,游戏版本更新步骤如下:

版本库的版本变更手动触发建构;从版本库拉取变更后的版本文件;通过建立操作后,推送目标程序至分布式的全局版控服务器集群;在作业平台下发更新操作后,UJOBS的agent取得该次更新的版控服务器地址、变更清单以及版本信息;从版控服务器拉取更新文件至本地执行预定的更新脚本;

同时在UJOBS执行的过程中可实时查看输出的日志。当游戏版本更新出现异常,有两种回滚模式:第一种,游戏服务器上保留历史版本,异常时回挪到历史版本;第二种,覆盖回滚,将老版本重新公布进行回滚。

数据库备份与恢复

相对于游戏版本更新备份而言,数据库备份更为重要。ALLINONE方式或则非集群方式的游戏业务场景下,会存在多达好几千个MySQL例子,若是要按常规的MySQL备份方案来推行,管理难度跟费用都要翻好倍。因此游族网络选用Xtrabackup在主库上直接备份数据文件形式,备份文件暂存本地;本地备份完成后在备份系统补选一台远程服务器进行异地备份;备份策略每小时一次备份,半小时本地备份半小时远程备份。该备份方式在单主库业务场景下或许是最可靠的数据备份方案,但备份过程对主库会有影响、(限制IO操作),最坏状况下或许出现1小时的数据遗失(业务接受少量的数据遗失)。

图说天下

×
二维码生成