我最近更改了我的服務器設置以包含副本集。次要數據庫位於世界各地的多個地區,以減少延遲。問題是我認爲所有的讀取操作都是從主服務器完成的,而不是從輔助服務器完成的。我在遠離主數據庫的服務器上看到500ms +延遲,但與主服務器位於同一區域的登臺服務器的時間爲〜20ms。我如何檢查輔助閱讀或最近閱讀是否正常,或者我的設置是否丟失/錯誤? (我曾經嘗試都SECONDARY_PREFERRED,且最接近)使用次要讀取的Mongoose/MongoDB副本集
網址:
mongodb://1.1.1.1:27017,1.1.1.2:27017,1.1.1.3:27017,1.1.1.4:27017,1.1.1.5:27017/mydatabase
我的選擇是這樣的:
"replSet": {
"rs_name": "myRepSet"
"readPreference": "ReadPreference.SECONDARY_PREFERRED",
"read_preference": "ReadPreference.SECONDARY_PREFERRED",
"slaveOk": true
}
貓鼬版本:3.8.x
我們實際上已更新爲Mongoose 4。x解決問題的一半,然後對自己的代碼進行了一些修改,將代碼延遲減少到20-60ms。儘管我們所做的工作正在進行,但我會給予這個答案的功勞。 – codephobia