【直击DTCC】MongoDB在网易游戏的应用及服务化实践

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

  

在下午的NoSQL技术实践专场,来自网易游戏的黄文宇与大家分享了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。

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

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占用),让它非常适合服务化。

关注大会官方公众号,获取更多详情

      ↓↓↓ 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值