如何运维千台以上游戏云服务器如何运维千台以上游戏云服务器
编辑推荐编辑推荐:
本文主要介绍了云时代的运维,包括游戏上云部署整体方案、游戏服务器批量运维
管理,并对企业选择RDS还是自建MySQL数据库给出了自己建议。
本文来自于云栖社区,由火龙果软件Linda编辑、推荐。
游戏产品架构进化史
图一:游戏产品架构进化史
经过近七年的高速发展,公司游戏服务器从100台增长到10000+台,游族整体游戏架构也经过了三个阶段的演变:
公司早期广泛使用的第一代架构,当时主流的产品都是以DB+计算+前端这样的3个角色开发设计并部署,服务器以物理机为
主,一个游戏区组需要2~4台服务器,不同的机器承担不同的角色。这种架构方案效率低,基本上不可能实现一天开100个区
组(100个区组大概需要400台服务器);
随着业务量的增长和虚拟化技术广泛使用,游族整体游戏架构更新为第二代架构,全面采用虚拟化技术,把一台高配的物理机
器虚拟化成多台符合游戏需求的虚拟机来使用,并实现了ALL IN ONE的系统架构。该架构方案运维效率高,适合规模开展游
戏运营,但不具备业务高可用特性,一天开100个区组成为常态;
为了迎合大区大服、全球同服,游族融合了前两代架构的特点,推出了第三代架构,按角色分拆并形成服务集群模式。集群架
构结合了物理机与虚拟化的优势,实现弹性扩容,游戏逻辑以服务进程或集群配置项的形式提供服务。该架构方案运维效率更
高,可实现秒级开服同时具备业务高可用特性。
基于第二代架构,游族基于OpenStack自己的私有云,最初目标是为了提高服务器利用率、降低成本和实现分钟级开服。运维
团队以OpenStack G版为蓝本进行调优并修改;整个网络采用的是VLAN模式,保证最大限度与现有网络架构保持兼容;存储
方面使用本地磁盘作为存储。
通过底层优化后,游族私有云基本上可以满足业务的需求,目前90%游戏业务运行在上面,虚机规模持续保持在10000台以
上,游族私有云平台没有提供WEB管理界面,日常所有的操作都是通过命令行和脚本的形式进行操作,但对于虚拟机的增删
查改,重新封装了一层简洁的API接口实现与游族运维平台的对接。经过评估测验,在高峰时期,整个私有云资源利用率可达
到83%。
运维方式的转变
与三代架构相互对应是游族运维的三个阶段:
在第一代架构上,运维基本是手工运维,技术含量并不高,纯粹是采用人与时间堆积进行,运维同学需要登录每一台服务器,
顺序执行相关的命令和脚本。独立的版控服务器,通过主动推送的形式进行版本更新;
在第二代架构上,通过自动化工具进行批量运维,团队推出了使用expect写的auto批量脚本,所有操作只需登录一台集控服务
器执行批量并发操作的脚本,独立的版控服务器,通过并行的主动推送;
在第三代架构上,可以实现系统化运维,多个运维系统相互协调配合实现,例如:CMDB、业务树、作业平台等。游戏区组搭
建的时间基本上可以忽略(可按需求实现按条件触发或手动触发搭建操作),所有的更新操作在WEB管理平台就可完成。
游族作业平台UJOBS