Предположим, у меня есть набор реплик с одним основным P
и тремя вторичными S1
, S2
и S3
. Предположим, что приложение создает Mongo clent с этим constructor. Семена список {P
, S1
, S2
}. Обратите внимание, что список не содержит S3
.Конструктор MongoClient с семенами
Предположим, что приложение использует secondPreferred
, а оба S1
и S2
не работают. Будут ли запросы отправляться в P
или S3
?
Javadoc говорит It will find all members (the master will be used by default)
, и я думаю, что запросы будут отправлены в S3
. Правильно ли это?
Спасибо. Кстати, похоже, нет никакой разницы между семенами {P} и {P, S1, S2, S3}. Правильно ли это? – Michael
@ Майкл. Общая ** лучшая ** практика состоит в том, чтобы иметь достаточно ** семян ** в соединении, чтобы, если узлы опущены, есть что-то, что может сказать вам *, которые * узлы ** вверх **. В конкретном случае, о котором вы упомянули, запросы будут отправляться на 'S3', даже если * unseeded *, потому что' P' был включен и знал о 'S3' как член. Но это все еще не гарантировано ** только по принципу «secondaryPreferred». Остальное зависит от вашей конфигурации. Поэтому запросы ** могут ** перейти на 'P' в предпочтении. Все зависит от того, как вы настроены. –
@NeilLunn Спасибо за объяснение. Не могли бы вы привести пример сценария, когда запросы с 'secondPreferred' и no tags перейдут на' P', если 'S3' вверх? – Michael