由于工作需要,游戏服务器需要承载大量的用户数据,光靠mysql的读写性能很明显不能满足游戏服务器同时8w人在线读写的需求,为了给数据库减压,决定使用NOSQL,来做中间缓存,
决定使用mongoDB,恰巧mongoDB3.0在2015.3.3 推出了3.0的版本 看官方介绍该版本是之前版本读写速度的5-7倍,反正都是从0学,干脆直接进入最新的版本,免得在被时代淘汰
mysql减压方案
:使用mongoDB做中间缓存,mysql做持久化数据存储,服务器先从mongoDB查询数据->如果没有数据则从mysql上去查询->然后把从mysql读取的数据写入mongoDB
修改的数据先去mongoDB上做update操作,确认操作成功,在写入实时到mysql上去
windows开发环境搭建
1、安装python
下载python 2.7.9安装程序(不要使用3.X的版本), 使用32位,因为scons只有32位安装包可用;
下载地址:https://www.python.org/downloads/ 选择:Windows x86 MSI installer
2、安装scons
下载scons 2.3.4.exe,MongoDB的驱动是用scons构建的,安装后会自动安装到python的脚本目录里;
下载地址:http://www.scons.org/
其他教程里有写Python27\Scripts写入PATH这一步,python 2.7.9应该会自动写入,可省略;cmd->python -v命令验证环境是否配好
4、安装Boost库
MongoDB C++驱动依赖Boost库(1.49及以上版本),可以直接下载编译好的Boost文件直接安装,省去了自己编译,节约半天时间;
下载地址:http://sourceforge.net/projects/boost/files/boost-binaries/ 选择:最新版本 boost_1_57_0-msvc-11.0-32 因为我是vs2012 选择msvc-11.0
vs2010选择msvc-10.0
注意32位和64位区别,需编译64位驱动的下载64位的Boost库。
可以下载.exe直接安装,但是我这边网络太慢,所以下载源码自己编译
4.1boost源码编译(或自己编译boost库)
解压boost_1_57_0
用VS2012开发人员工具进入该目录