我已經實現了一個全局使用的副本集。我有美國俄勒岡州的碩士和4位輔助教師。加州和弗吉尼亞,法蘭克福和悉尼。我在這些地區也有網絡服務器。這些Web服務器連接使用貓鼬到蒙戈:Mongoose沒有從Mongo二級數據庫讀取
var mongoose = require("mongoose");
var dbUrl = "mongodb://***.***.***.***:27017,***.***.***.***:27017,***.***.***.***:27017,***.***.***.***:27017,***.***.***.***:27017/exampleDb";
var dbOptions : {
"replSet": {
"rs_name": "exampleRepSet",
"readPreference": "ReadPreference.SECONDARY_PREFERRED",
"read_preference": "ReadPreference.SECONDARY_PREFERRED",
"w":0,
"slaveOk": true
}
}
mongoose.connect(dbUrl, dbOptions);
我的問題是我的客戶,這取決於它們是從主有多遠有較高延遲到數據庫中。加州得到40ms,而悉尼獲得400ms。我不明白爲什麼會發生這種情況,因爲他們應該讀取他們所在地區的輔助數據庫。
我明白,必須寫入主要寫入,但即使我執行查找,那麼不應該在區域中學完成並返回相當快?
我意識到在配置中有一些多餘的選項,但我越來越絕望。我也試過"ReadPreference.NEAREST"
選項無濟於事。
您運行的是什麼版本的貓鼬的? – ThrowsException