Нужно ли указывать весь хост для набора реплик в Mongoose, Express-session-mongo и mongolian? - PullRequest
1 голос
/ 03 декабря 2011

У меня есть копия MongoDB, установленная как:

Host1: 10.10.10.1:27017
Host2: 10.10.10.1:27018
Host3: 10.10.10.2:27017
Host4: 10.10.10.2:27018

Когда я устанавливаю соединение (например, в Mongoose), я должен сделать это:

mongoose.connectSet('mongodb://10.10.10.1:271017/mydb,
mongodb://10.10.10.1:27018/mydb,
mongodb://10.10.10.2:27107/mydb, mognodb://10.10.10.27108/mydb);

Могу ли я просто сделать это?

mongoose.connectSet('mongodb://10.10.10.1/mydb, mongodb://10.10.10.2/mydb');

Как насчет экспресс-сессии-монго и монгольского?как установить соединение с набором реплик?

Почему я должен определить все имена хостов?Разве драйвер не должен знать все первичное и вторичное и хранить таблицу поиска, вместо того, чтобы определять ее вручную при настройке соединения?

1 Ответ

2 голосов
/ 03 декабря 2011

поэтому драйвер mongodb, используемый mongoose, найдет всех членов репликационного набора, если у вас есть хотя бы один член в исходном наборе. Это связано с тем, что каждый член в репликационном наборе знает обо всех остальных членах. Но чем больше серверов вы знаете, тем лучше, так как это повышает вероятность поиска сервера в случае, если ваш единственный переданный сервер не работает.

...