靠谱 的软件外包伙伴

您的位置:首页 > 新闻动态 > 游戏软件开发过程中Mongodb的应用及服务化实践

游戏软件开发过程中Mongodb的应用及服务化实践

2016-05-13 09:29:24

2016年5月12日,第七届中国数据库技术大会(DTCC 2016)在北京国际会议中心拉开帷幕。作为国内数据库与大数据领域最大规模的技术盛宴,本届大会以"数据定义未来"为主题,云集了国内外顶尖专家,在为期三天的会议中,将围绕MySQL、NoSQL、Oracle、缓存技术、云端数据库、智能数据平台、大数据安全、数据治理、大数据和开源、大数据创业、大数据深度学习等领域的前瞻性热点话题与技术展开深入探讨。据悉,本届大会吸引5000多名IT人士参会。

在下午的NoSQL技术实践专场,来自网易游戏的黄文宇与大家分享了MongoDB在网易游戏中的应用,以及MongoDB服务化的一些经验。

MongoDB在网易游戏的应用及服务化实践

MongoDB在网易游戏的应用

黄文宇,2005年加入网易游戏,已在网易工作超过10年,是网易游戏运维自动化平台负责人,MongoDB Team Leader。负责过非常多游戏的运维,包括前期的大话、梦幻等几个大型端游,现在还负责的有天下、天谕、功夫熊猫等游戏项目。

虽然黄文宇主要的精力放在游戏运维资源平台的架构上,但MongoDB作为数据存储资源恰恰是这个环节的一个重要组成部分。

在网易,MongoDB不仅是端游的数据中心还是手游的数据库,更是周边系统的数据库,因为易用、易扩展、高可用等原因,有过百游戏项目使用MongoDB。

网易将MongoDB服务化实践

服务化缘由

为什么要将MongoDB服务化?黄文宇表示:“刚开始使用MongoDB的时候,MongoDB的资源是由项目SA/DBA搭建与管理。存在以下问题,比较大的阻碍了我们的使用。”

  1. 学习&运维成本高

  2. 资源浪费严重

  3. 交付效率低

  4. 可用性低

为了解决这些问题,将MongoDB进行服务化是一个比较好的选择。

服务化目标

  1. 减轻项目DBA/SA的学习及配置成本

  2. 为每个使用MongoDB的项目提供标准化的服务

  3. 统一调配及资源整合降低人力及硬件成本

服务提供形式

MongoDB服务化后会以什么样的形式提供?黄文宇表示主要是分成以下4块:

首先最重要的当然是db的资源服务,这块我们主要是以3个config+3个node组成rs的shard的形式提供服务,无论用户申请多少资源,都会以这个形式。如果用户只要1个shard,那会是带3个config的shard,而不是一个简单的rs。

MongoDB在网易游戏的应用及服务化实践

主要是从几个方面考虑这个问题:

1、方便扩展,如果需要横向扩展,把shardkey加上,然后加资源即可。

2、避免不同的程序驱动对rs高可用的不一致情况。

3、虚拟化后config的资源消耗主要是磁盘io,其他cpu、内存、磁盘容量等都几乎可以忽略不计。

4、统一资源形式,如果同时既提供rs也提供shard的话,对MongoDB不怎么熟悉的用户其实是很容易混淆。

服务化成果

最后,黄文宇展示了服务化成果:

  1. 项目运维不需要关注数据库的搭建与维护

  2. 硬件成本下降73%

  3. 资源交付秒达

  4. 2014年可用性99.99%

  5. 2015年可用性99.999%

  6. 2016年可用性99.99%

其中硬件成本下降了73%,黄文宇表示:“主要是虚拟化后,CPU、内存、硬盘达到一个最佳配比得到的收益。而资源交付速度,皆因MongoDB硬件需求相对特殊,需要采购、机房安装、初始化几个过程,整个流程最快也要按周算的,服务化后,给出去的shard实例只是虚拟机的创建,可以实现自助申请,只要1-2min左右即可。”

最后,黄文宇还特别强调,MongoDB的特性(高可用、以扩展、低CPU占用),让它非常适合服务化。

 

关于:中科研拓

深圳市中科研拓科技有限公司专注提供软件外包、app开发、智能硬件开发、O2O电商平台、手机应用程序、大数据系统、物联网项目等开发外包服务,十年研发经验,上百成功案例,中科院软件外包合作企业。通过IT技术实现创造客户和社会的价值,致力于为用户提供最佳的软件解决方案。联系电话400-0316-532,邮箱sales@zhongkerd.com,网址www.zhongkerd.com


  上一篇   [返回首页] [打印] [返回上页]   下一篇