首页 新闻 会员 周边 捐助

Mongodb分布式部署中如何分摊压力

1
[待解决问题]

结构大致如下图所示,同一个网段内若干个服务器,每一台服务器上面都安装了一个MongoDB的服务和一个网站(ASP.NET的),这些mongodb的服务共同组成了一个复制集(也就是数据同步),现在每个web网站都是连接到各自网站所在服务器上面的Mongodb上,预计的是网站在读取数据时会读取自己服务器上面的mongodb,但是根据system.profile表中的记录可以发现有很多请求时来自其它服务器的,这样我就不能控制各个服务器的访问压力了,总是出现一个服务器的cpu100%,而其它服务器很空闲的情况。

链接字符串——

<add name="MyDB" connectionString="mongodb://127.0.0.1/?replicaSet=mySet;slaveOk=true" />

请问有没有什么方法可以控制网站访问自己服务器上面的Mongodb?

zengding的主页 zengding | 初学一级 | 园豆:103
提问于:2014-10-17 10:46
< >
分享
所有回答(3)
0

数据库就别和web放一起了。尤其是mongo,资源不好分配的,你还是先分开再说把

吴瑞祥 | 园豆:29449 (高人七级) | 2014-10-17 11:58
0

思路有问题,应该分别是web集群和数据库集群,你这样做是很难分压力的,比如说来了3个请求,你给3个请求平均分给3对服务器,可是你怎么确定,这3个请求中每个请求对数据库的操作室平均的,另外还涉及一些其他问题

draculav | 园豆:734 (小虾三级) | 2014-10-17 15:40
0

之前在MongoDB萌阔论坛上看到过关于MongoDB分布式的相关讨论,你可以去看看,希望能帮助到你。
萌阔论坛:http://forum.foxera.com/mongodb/topic/270/mongodb-crud-概念-分布式写操作?un=Jesse

JesseShi | 园豆:274 (菜鸟二级) | 2017-07-18 09:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册