结构大致如下图所示,同一个网段内若干个服务器,每一台服务器上面都安装了一个MongoDB的服务和一个网站(ASP.NET的),这些mongodb的服务共同组成了一个复制集(也就是数据同步),现在每个web网站都是连接到各自网站所在服务器上面的Mongodb上,预计的是网站在读取数据时会读取自己服务器上面的mongodb,但是根据system.profile表中的记录可以发现有很多请求时来自其它服务器的,这样我就不能控制各个服务器的访问压力了,总是出现一个服务器的cpu100%,而其它服务器很空闲的情况。
链接字符串——
<add name="MyDB" connectionString="mongodb://127.0.0.1/?replicaSet=mySet;slaveOk=true" />
请问有没有什么方法可以控制网站访问自己服务器上面的Mongodb?
数据库就别和web放一起了。尤其是mongo,资源不好分配的,你还是先分开再说把
思路有问题,应该分别是web集群和数据库集群,你这样做是很难分压力的,比如说来了3个请求,你给3个请求平均分给3对服务器,可是你怎么确定,这3个请求中每个请求对数据库的操作室平均的,另外还涉及一些其他问题
之前在MongoDB萌阔论坛上看到过关于MongoDB分布式的相关讨论,你可以去看看,希望能帮助到你。
萌阔论坛:http://forum.foxera.com/mongodb/topic/270/mongodb-crud-概念-分布式写操作?un=Jesse