写点什么

页游架构设计与云平台运行

  • 2014-07-04
  • 本文字数:1892 字

    阅读完需:约 6 分钟

在互联网游戏领域,新老游戏在各大平台每时每刻都更替着,如何命中游戏市场要害,并占据领先位置,游戏开发者们在其中起到了关键性作用。在今年 7 月 18 日 -19 日的 ArchSummit2014 大会上,多位讲师将针对如何快速开发游戏,避免技术陷阱等问题纷纷献计献策。

ArchSummit 开始之前,InfoQ 邀请上海江游技术总监刘其炎往期视频:网页游戏的云计算架构)和江游运维负责人许治坤,从游戏架构设计、OpenNebula 云平台运行这几个方面分享了一些自己的观点,采访内容如下:

InfoQ:请您介绍下 2014 年上海江游的规模,并请简单介绍一下您目前的工作和关注的领域。

刘其炎:江游现在有 300 左右的员工,一共有 9 个项目,其中 4 款手游,5 款页游。我目前的主要工作是负责我们事业部的技术,以及公司所有技术的整合,新人的培训等等。我比较关注的领域是 MySQL、PHP、Nginx、游戏服务器架构等。

InfoQ:今年,针对《街机三国》的服务器架构,以及升级自动化工作方面,是否遇到了新的问题,又是如何解决的?

刘其炎:主要是之前设计的比较稳定,再加上今年各平台对街机的推广已经没那么多了,所以基本上没有出现很多新问题。

InfoQ:针对游戏服务器开区、开服的问题,从架构设计角度是如何考虑的?是否有过负载过大导致宕机?

刘其炎:这个还是我讲座里说的,主要还是从产品,从客户的角度去设计架构,不要过度设计。因为我们开始的时候就考虑到了页游的生命周期,所以尽量的保证服务器的可平行扩展性,所以没有出现过负载过大而导致的宕机。

InfoQ:从事游戏服务器架构设计这些年,您最大的感悟是什么?

刘其炎:最大的感悟就是:一切以产品为中心,不要过度设计。没有最好的架构设计,只有最适合的设计。

除了游戏架构之外,关于上海江游云平台运行方面的问题,InfoQ 请江游负责运维工作的许治坤也谈了一些自己的体会,以下为采访实录:

InfoQ:游戏的特点是单服务器负载增高后直接用开新服来解决。这是否意味着游戏运维不需要考虑应用的扩展性问题?

许治坤:开新服就是扩展。开服合服是游戏的特性,开发阶段运维及早介入,共同讨论解决游戏服务端框架扩展性问题对后期运营会有很大帮助,否则很可能只能在下一个游戏里解决了。其炎在设计街机三国服务端框架就吸取了我们前一个游戏的很多惨痛教训而做的修改。

InfoQ:您在上次的分享中提到曾经尝试过 SSD Cache+SATA 盘的方案,但是因为写穿透的压力还是太大,所以后来换成了纯 SSD 的方案。能否用数据(比如写入的 IOPS、速度等)描述一下当时你们遇到的压力,以及当前方案的运行状态?

许治坤:具体数据现在有点忘了,游戏活动高峰写入 IOPS 大概有 3000-4000。Flashcache 技术对大量读的操作有很大作用,对大量写只能是缓冲一下,因为最终还是要写到后面的硬盘,我们当时 slave 用的是 SSD + SAS15k*6(Raid 10) ,还是跟不上,马上就放弃用独立 SSD。用独立 SSD 还经常出现 slave 滞后的问题,因为 MySQL 5.6 以前的 slave 不支持多线程写,记得当时的 MySQL 5.6 slave 多线程写还有内存泄漏的问题,给 MySQL 提交了 bug,前几个月刚解决。

InfoQ:有没有考虑过将 MySQL 换成 NoSQL 方案?

许治坤:没有,游戏上线后开发压力大的不可想象,因为每周都要出一个版本。关于上面 mysql 写压力大的问题,我们通过 splunk 采集回放 binlog 统计 SQL,发现游戏的一个刷战魂操作在每天 SQL 语句写操作中占了 50% 多,后来开发加了一个一键刷战魂的功能,一下子就降到 30%。所以找最简单的解决方案,能解决问题就行。

InfoQ:你们现在好像是 OpenNebula 私有云、腾讯云、AWS 都在用,是不是平时主要跑在自己的云上,量大的时候往腾讯云上开服,海外用户则使用 AWS?

许治坤:某些云平台厂商有一阶段老升级内核,更过分的是还把内核模块禁用掉,害的我们的 glusterfs 跑不起来。

InfoQ:您这套私有云环境自身的研发、升级过程是怎样做的?万一平台自己升级遇到故障了怎么办?

许治坤:如果没有严重安全问题、没有特别性能提升或特需功能,为什么要升级?运维最重要的是稳定。

InfoQ:还有什么其他的技术话题可以分享?

许治坤:我们正在测试 docker,后续游戏产品会转到 docker 上来。

ArchSummit 全球架构师峰会即将于 7 月 18-19 日在深圳举行,此次会议重点解析九个当前最受关注的领域,包括:SNS、移动互联网、金融、大数据、智能硬件、游戏、云计算、自动化运维、电商等专题。目前正在火热报名中,感兴趣的读者可以访问网站主页了解更多信息。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-07-04 02:302785

评论

发布
暂无评论
发现更多内容

局域网与Kubernetes内部网络如何互通

程序员半支烟

k8s

局域网与Kubernetes内部网络如何互通

程序员半支烟

k8s

局域网与Kubernetes内部网络如何互通

程序员半支烟

k8s

Redis Sentinel 初步设计方案

艾瑾行

架构训练营

从 Zebec Protocol 长期布局看,ZBC 通证的潜在应用场景

股市老人

网上正规实体现场同步平台

新百盛娱乐yscy898

局域网与Kubernetes内部网络如何互通

程序员半支烟

k8s

【我和openGauss的故事】构建openGauss开发编译提交一体化环境

daydayup

《MySQL——从删库到跑路》阿里架构师分享删库跑路救命策略

java易二三

Java 程序员 计算机

成为大主播的必懂知识:直播源码推流

山东布谷网络科技

直播推流 直播源码

第二届广州·琶洲算法大赛报名截止 3300多支队伍将展开激烈角逐

新消费日报

精细解析中文公司名称:智能分词工具助力地名、品牌名、行业词和后缀提取

汀丶人工智能

人工智能 自然语言处理 信息抽取

数智双擎,算融未来”,2023东湖算力与大数据创新大会圆满召开

彭飞

2023-08-12:用go语言写算法。实验室需要配制一种溶液,现在研究员面前有n种该物质的溶液, 每一种有无限多瓶,第i种的溶液体积为v[i],里面含有w[i]单位的该物质, 研究员每次可以选择一瓶

福大大架构师每日一题

左程云 福大大架构师每日一题

从 Zebec Protocol 长期布局看,ZBC 通证的潜在应用场景

BlockChain先知

全新 – Amazon EC2 M1 Mac 实例

亚马逊云科技 (Amazon Web Services)

Amazon EC2

Similarities:精准相似度计算与语义匹配搜索工具包,多维度实现多种算法,覆盖文本、图像等领域,支持文搜、图搜文、图搜图匹配搜索

汀丶人工智能

人工智能 自然语言处理 语义搜索 语义搜索系统 文本匹配

深入浅出java Semaphore

java易二三

程序员 jdk 计算机 科技

SpringBoot3数据库集成

Java 架构 springboot SpringBoot3

网上正规实体平台现场同步yscy898

新百盛娱乐yscy898

上线规则 微咨询 Fil币现在进场合适吗? 简单查询

【我和openGauss的故事】体验openGauss 5.0极简版一主一备部署,延时回放和主备切换功能

daydayup

使用 Spring 实现控制反转和依赖注入

小万哥

Java spring 云原生 后端 SpringCloud

java8 通过反射执行接口的default方法

java易二三

Java 程序员 计算机

山东布谷科技直播软件开发WebRTC技术:建立实时通信优质平台

山东布谷科技

软件开发 WebRTC 实时通信 源码搭建 直播软件开发

页游架构设计与云平台运行_数据库_景琦_InfoQ精选文章