2017-10-09 00:00

腾讯游戏数据库打点员Robin:仓管员团队的成长自白

腾讯游戏数据库打点员Robin:仓管员团队成长自白

行业资讯

佚名小编

·

2015-07-31 13:13     |     755人赏识

分享到

文/崔玉明

付出宝、携程的持续妨碍,让各人熟悉到运维的重要性,而真正的运维不该和妨碍接洽在一路。外貌看是运维债务的题目,着实是运维人在背后为技能债务遭受了许多。上周,在一场互联网沙龙上,UC IT运维司理王津银、西山居IT运维司理肖力和腾讯数据库工程师兼打点员崔玉明以“互联网企业的运维进化论”为主题,全面分解了互联网运维的理论与实践。本篇文章,分享的是专业仓管员Robin在现场演讲的内容——《仓管员团队成长自白》。

“DBA这个岗亭跟仓管员很像,就是天天给别人发点货,别人在你这儿放点货,DBA事变就是把货尽快给送出去可能让人家尽快放进来。虽然,尚有一份重要的事变,就是让客栈里摆放的货品尽也许整齐,这也是仓管员的本职事变,你不能拿到货往客栈里一通乱扔,别人来取货,又让别人等上半个小时。”

图:腾讯游戏DBA Team Leader Robin

内容提要:

先进的蕴蓄

Game Cloud Storage架构

Game Cloud Storage构成

Game Cloud Storage去哪

驱动力及偏向切磋

先进的蕴蓄:三类游戏DB架构理会

图:先进的蕴蓄

图: 腾讯互娱的三类游戏

腾讯互娱有三类PC端游戏:1. 平台休闲游戏,好比QQGame斗田主、QQ宠物;2. 高级休闲游戏,由于游戏及时性要求增高,对用户必要就近接入,这类游戏会举办分区处理赏罚;3. 大型多人在线游戏MMOG,这类游戏玩法较量伟大,也许包括上万个使命,道具信息,逻辑很伟大,及时性要求更高,对应单用户数据量也会变得更大,新的MMOG游戏可能运营时刻长的MMOG单用户数据量会到达几百K。手游这几年自己游戏内容不绝的富厚,演进中的游戏分类根基也可以参考原先端游。

图:PLAT/QQGame DB漫衍

对付平台休闲/QQ游戏的DB,数据齐集一个都市存放。由于游戏玩法相对最简朴,以是,玩家自身的属性较少,也许就是积分、声誉、装扮,少量道具的变革,,对应数据量也较量小,较量得当齐集存放,差异区域的gamesvr到专线也不会有太大压力。

此类DB特点:

DB数据齐集,基天职布在同城IDC;

单用户数据布局简朴,数据量少(<1k);< p="">

用户量庞大,凡是注册用户过亿,靠山通过qq号hash可能uin末端2-3位数字做漫衍式数据切片处理赏罚;

单DBServer支持会见人数大于10万。

图:ACG/飞车 DB漫衍

相对MMOG,ACG/飞车的游戏内容较量简朴,以玩家对局为主,但单用户的数目会比PLAT / QQGame要大一点,必要大区方法运营,产物筹谋对付用户聚合有更多诉求,大区增进相对少,反而单个大区承载人数的上限,会由于时刻推移,慢慢通过技能进级不绝晋升。

DB特点:

介于PLAT,MMOG之间,单大区支持人数有10万。

图:MMOG/ 三国DB漫衍

MMOG/ 三国游戏逻辑伟大,用户属性多,玩家进级、打怪、做使命、多人组队作战PK为主。自己一个大区,由于内容过多,伟大的经济体系均衡等,同时承载人数有几万的上限,必要通过不绝增进大区,扩张在耳目数。及时性要求更高,得当把整个游戏的背风景理办法跟用户作就近接入,这样用户体验会更好一些。

DB特点:

DB数据漫衍广,漫衍在多个IDC;

单用户数据布局简朴,数据量少(50K-几百K);

DBServer物理及逻辑扩展频仍,单个区支持同时游戏人数在2-3万。

图:DB架构简化

颠末总结,发明着实架构是蛮简朴的,我们的MySQL就很简朴,一个Master,一个Slave,一个LogDB,把三种游戏简练一下,着实就是一个很简朴的架构,如上图。

我们总结了一个履历,由于单用户数据量较量小的话,DB陈设的得当齐集存在一个都市;假如像一个用户的玩家数据到达几百K的时辰,照旧得当整体单区架构包罗数据库做就近接入、Set化。

图:DB架构精炼

数据陈计划策:齐集与Set漫衍,数据齐集得当逻辑简朴,用户属性较少的游戏;IDC Set漫衍,得当逻辑伟大,用户属性多游戏.

数据切割计策:平行(QQ号或其余用户ID)及垂直(差异模块属性数据,譬喻QQGame的道具与装扮信息的切分)

本钱与质量计策:分级投入,焦点状态与日记流水硬件疏散,让读写最频仍的状态类信息保持一个较小的局限,为焦点状态类数据增进热备投入。流水日记此刻由于近几年大数据很时髦,也有传输到hadoop做说明,也相等于有备份了。

回写计策:前端cache按时归并回写,自己Mysql配置innodb_flush_log_at_trx_commit=0,晋升2-3倍机能。

简化计策:对付MMOG将用户属性中数据量较大的使命,道具,客栈信息以二进制方法封装到Blob中。尽也许将DB题目简化为或IO或内存或CPU资源不敷的题目。

SNS游戏没有列出来,是由于此刻全部游戏险些都包括了SNS元素,但当交际变为游戏的重点时,由于热门不在齐集,主要计策是All In Memory,好比前些年出格风行的QQ农场营业。

Game Cloud Storage 架构

图:Game Cloud Storage架构

Game Cloud Storage首要办理硬件妨碍处理赏罚时刻长,版本停机时刻长,以及空闲率高这三个题目。mysql前增进了proxy一层做高可用;推出定制的tmysql,秒级在线加字段;以及将多实例打点变得越发利便,便于缩扩容。

自动切换

图:Auto-Switch