更多云场景实践研究案例,点击这里:【云场景实践研究合集】联合不是简单的加法,而是无限的生态,谁会是下一个独角兽
游族网络整个公司运维的服务器从100台增长到10000+台,其整体游戏架构也经过了三个阶段的演变,与这三代架构相对应的,游族网络的运维也经历了从手工,到自动化工具再到系统化运维的三个发展阶段。而对于游戏行业的运维而言,在扩展或者迁移的过程中,数据的备份和恢复也显得尤为重要。游族网路将自己的ALL IN ONE架构也迁移到阿里云上,整个过程不仅非常平滑,而且保证了尽可能低的停服时间。如今,游族网络不仅将一些老游戏向阿里云上进行迁移,并且也在将一些新游戏直接部署到阿里云上。
“在游族网络将自己的几款游戏迁移到云的过程中,阿里云的技术支持起到了关键作用,线上线下及时沟通,以及特定技术的定制,保证了整个迁移过程的顺利进行。”
——李志勇
游族网络运维总监
经过近七年的高速发展,公司游戏服务器从100台增长到10000+台,游族整体游戏架构也经过了三个阶段的演变,从服务器以物理机为主,一个游戏区组需要2~4台服务器,不同的机器承担不同的角色的架构,到全面采用虚拟化技术的ALL IN ONE系统架构,再到按角色分拆并形成服务集群的架构模式。
采用的阿里云产品
- 阿里云云服务器 ECS
- 阿里云负载均衡 SLB
- 阿里云云数据库 RDC
- 阿里云大数据计算服务 MaxCompute
- 阿里云专有网络 VPC
- 阿里云日志服务 LOG
为什么使用阿里云
将ALL IN ONE架构平滑迁移到云上的过程中,首先要求就是迁移过程不能长时间停服,只能接受正常的版本更新的停服时间,使用阿里云正式迁移只需要用时1~2小时。
在迁移到云的过程中,阿里云的技术支持起到了关键作用,线上线下及时沟通,以及特定技术的定制,可以保证整个迁移过程的顺利进行
关于 游族网络
游族网络是全球领先的轻娱乐供应商,成立于2009年,于2014年登陆资本市场,成为国内A股主板第一游戏股,其核心业务包括:全球游戏发行、互联网流量经营、IP开发与运营、互联网产品研发和泛娱乐产业投资。
为什么选择阿里云?
为了迎合大区大服、全球同服,游族融合了之前两代架构的特点,推出了第三代架构,按角色分拆并形成服务集群模式。集群架构结合了物理机与虚拟化的优势,实现弹性扩容,游戏逻辑以服务进程或集群配置项的形式提供服务。该架构方案运维效率更高,可实现秒级开服同时具备业务高可用特性。在第三代架构上,可以实现系统化运维,多个运维系统相互协调配合实现,例如:CMDB、业务树、作业平台等。游戏区组搭建的时间基本上可以忽略(可按需求实现按条件触发或手动触发搭建操作),所有的更新操作在WEB管理平台就可完成。
游族网络数据库备份与恢复策略
相对于游戏版本更新备份而言,数据库备份更为重要。ALL IN ONE模式或者非集群模式的游戏业务场景下,会存在多达好几千个MySQL实例,若是要按常规的MySQL备份方案来实施,管理难度和成本都要翻好倍。因此游族网络采用Xtrabackup在主库上直接备份数据文件方式,备份文件暂存本地;本地备份完成后在备份系统选举一台远程服务器进行异地备份;备份策略每小时一次备份,半小时本地备份半小时远程备份。该备份方法在单主库业务场景下可能是最靠谱的数据备份方案,但备份过程对主库会有影响、(限制IO操作),最坏情况下可能出现1小时的数据丢失(业务接受少量的数据丢失)。在数据恢复方面,通过一键恢复工具,只需要提供恢复的IP、时间段和业务信息(如库名)即可实现数据恢复;24小时内的数据通过本地的数据恢复(结合二进制日志),超过24小时的数据通过异地数据恢复。
游族网络的阿里云迁移历程
现在游族已经将几款老游戏迁移到阿里云上。在将ALL IN ONE架构平滑迁移到云上的过程中,首先要求就是迁移过程不能长时间停服,只能接受正常的版本更新的停服时间。
游族网络老游戏的平滑迁移方案
游族网络在阿里云上的整个迁移过程分为以下几步:
第一步提前准备资源,在阿里云提前申请好资源,初始化环境并把VPC与自有机房的网络打通,实现内网互通为数据同步做好准备;
第二步提前同步数据,使用Xtrabackup备份在线把MySQL配置成主从同步模式,将数据同步到阿里云ECS,在一段时间后完成数据迁移。
第三步正式迁移,正常的游戏停服维护时间(0.5~2小时)就可完成业务上阿里云的迁移。目前已经平滑完成3款游戏产品的迁移,每款产品准备时间3~5天,正式迁移用时1~2小时,在阿里云平台使用的ECS虚机超过1000台。
新游戏上阿里云部署方案
上图为ALL IN ONE架构迁移在阿里云后的游戏部署:游戏逻辑运行在ECS上,业务中使用VPC网络,通过自建的ULB对外提供服务。游族网络下一步计划将集群模式部署在阿里云平台上,游戏逻辑将在ECS集群运行,后端数据存储在RDS集群中,前端通过SLB和负载均衡保证业务高可用,同时会接入LOG和大数据计算服务MaxCompute确保大数据业务。
阿里云技术支持保障
在迁移到云的过程中,阿里云的技术支持起到了关键作用,线上线下及时沟通,以及特定技术的定制,保证了整个迁移过程的顺利进行。
如何去选择合适的数据库?
自建MySQL与RDS选择
在游戏迁移过程中,遇到了很多困难,其中一点是选择自建MySQL还是RDS。根据游戏迁移经验,解决该问题,他认为应从以下三个因素进行考虑:
1. 实例数量:实例数量多且业务规模小(无需进行针对性的优化)适合自建MySQL服务;实例数量不多业务相对会比较集中,数据库负载较高需要针对性的进行优化适合使用RDS服务;
2. 数据大小:数据量的大小会直接影响到数据库性能和数据备份的机制,数据量越大越需要对数据库进行精细化管理,数据的备份难度也越大,这种情况下建议使用RDS服务,反之可自建;
3. 成本核算:从实例规格来看RDS会比ECS自建MySQL要贵,但若是必须用到RDS的某些特性(如:数据安全和稳定性)时成本也就不会放在首要位置了。
与此同时,大数据量的自建MySQL可以采用延时同步的方法,此方法已在游族网络的女神联盟(手游)的集群架构方案中在使用。游族运维团队独创的数据备份系统、业务网关等独具特色解决方案确保了其业务量在行业内处于领先地位。
此外,李志勇还谈到,游族网络国际节点和国内节点的高可靠链路使用的基本资源是遍布全球的阿里巴巴骨干网,阿里云是将自己的资源分享出来给使用VPC的客户,实现国内外高可靠链路的建立。
关于游族网络的更多实践详情:游族网络:我们是怎么玩转千台以上游戏云服务器的
原文发布日期:2016-03-07
云栖社区场景研究小组成员:贾子甲,仲浩。