写点什么

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

  • 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:302455

评论

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

在 Django 中设计爬虫系统的数据模型与多对多关系

我再BUG界嘎嘎乱杀

Python django 爬虫

智算引领 AI启航,中国电信天翼云助推辽宁数智发展!

天翼云开发者社区

人工智能 云计算

一条数据包从收到发--交换芯片篇(一)

天翼云开发者社区

云计算 架构 交换芯片

数字先锋| 塞上江南新面貌:惠企便民政务兴!

天翼云开发者社区

云计算 云服务 政务云

云内GSLB技术及应用场景

天翼云开发者社区

云计算 容灾备份

自动化运维实战:Docker与TASKCTL在ETL调度中的深度应用

敏捷调度TASKCTL

运维 自动化运维 TASKCTL #docker

职场火焰杯测试开发大赛报名倒计时:最后一天!

测试人

软件测试

穿越周期!天翼云laaS+PaaS全年市场份额跃居中国公有云市场第三!

天翼云开发者社区

云计算 云服务 IDC

使用 Django 中的 filter 方法进行数据查询

我再BUG界嘎嘎乱杀

Python django 后端 开发

Python打包成exe的方法介绍

我再BUG界嘎嘎乱杀

Python 后端 开发 打包exe

1688商品API接口:电商数据自动化的新引擎

Noah

API面临哪些风险,如何做好API安全

德迅云安全杨德俊

虚拟ECU:汽车空调压缩机控制系统

DevOps和数字孪生

虚拟ECU 汽车行业

面向对象变成VS函数式编程

FunTester

前端常见的页面自适应布局方案

秃头小帅oi

总是被低估,从未被超越,揭秘QQ极致丝滑背后的硬核IM技术优化

JackJiang

即时通讯;IM;网络编程

虚幻引擎5与Perforce Helix Core集成使用案例:打造AAA级科幻游戏《Project Vesperi》

龙智—DevSecOps解决方案

版本控制 游戏开发 Perforce Helix Core

谈谈天翼云VPCE

天翼云开发者社区

云计算 VPC终端节点

职场火焰杯测试开发大赛报名倒计时:最后一天!

测吧(北京)科技有限公司

测试

英伟达一季净利暴增 6 倍;消息称 TikTok 计划本周大幅裁员丨 RTE 开发者日报 Vol.210

声网

.NET快速实现网页数据抓取

EquatorCoco

.net 网页

迭代器的一些简单理解

不在线第一只蜗牛

迭代 迭代器

Klocwork 2024.1新功能详解:验证平台功能提升、分析Bazel构建项目、MISRA C++:2023®编码标准

龙智—DevSecOps解决方案

klocwork perforce 静态代码分析工具

国内唯一!阿里云荣膺MongoDB“2024年度DBaaS认证合作伙伴奖”

阿里云瑶池数据库

mongodb 阿里云 阿里云瑶池数据库

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