假设我有N台服务器,每台服务器都作为Web服务器运行,并且是副本集的mongodb成员。
我希望slaveOk读取首先由本地mongodb实例满足,而不是通过网络远程机器。
文档说slaveOk读取由任意成员满意。是否可以覆盖它?
Mongodb 1.8,C-sharp驱动程序1.2。
答案 0 :(得分:2)
文档说slaveOk读取由任意成员满意。是否可以覆盖它?
不是没有更改C#驱动程序。您可能需要查看this file中的某个位置才能进行更改。
假设我有N台服务器,每台服务器都作为Web服务器运行,并且是副本集的mongodb成员。
请注意,这通常不是MongoDB的预期用法。以这种方式实现,您的Web服务器将与MongoDB竞争RAM。如果服务器过载,Web服务器将使mongod
进程饿死,这将导致连接备份并加剧问题。
听起来您正在尝试将MongoDB用作本地缓存,并且有更好的工具可用于此工作。
答案 1 :(得分:0)
您最接近所描述的是每个Web应用程序打开一个单独的直接连接(不是在副本集模式下)到本地mongodb并使用该单独连接进行读取。