Ich habe ein Replikat-Set implementiert, das ich global verwende. Ich habe meinen Master in Oregon, USA und 4 Secondaries. Kalifornien und Virginia, Frankfurt und Sydney. Ich habe auch Webserver in diesen Regionen. Diese Web-Server eine Verbindung Mongo Mungo mit:Mongoose nicht lesen von Mongo sekundären Datenbank
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);
Mein Problem ist, dass meine Kunden haben höhere Latenz in die Datenbank je nachdem, wie weit entfernt sie vom Master sind. Kalifornien bekommt 40ms, während Sydney 400ms bekommt. Ich verstehe nicht, warum das passiert, da sie die Sekundärdatenbank in ihrer Region ablesen sollten.
Ich verstehe, dass geschrieben werden muss, um die primäre, aber selbst wenn ich einen Fund dann sollte es nicht auf der regionalen sekundären getan werden und Rückkehr ziemlich schnell?
Ich weiß, es gibt einige redundante Optionen in dieser Konfiguration, aber ich bin verzweifelt. Ich habe auch die Option "ReadPreference.NEAREST"
vergeblich versucht.
Welche Version von Mungo sind Sie? – ThrowsException