У меня есть набор реплик, состоящий из 5 членов: первичный + арбитр на сервере 1, вторичный + арбитр на сервере 2, скрытый вторичный (резервный node) на сервере 3. Я ожидаю, что эта конфигурация будет работать, если один сервер снизится или временно потеряет связь.
Однако, когда сервер 2 опустился (тот, у кого есть вторичные + арбитры), я столкнулся с какой-то странной проблемой. Любое подключение к набору реплик из PHP занимало больше минуты. Я попытался изменить строку подключения, чтобы исключить из нее сервер, который был недоступен (вторичный node), но это не помогло.
В то же время соединение через консоль mongo работало отлично. Первичный node оставался основным. В журнале ошибок PHP не было ошибок.
Единственное, что помогло, - удалить узлы на сервере, которые упали с набора реплик.
Однако теперь я беспокоюсь об отказе от конфигурации. Как я понимаю, если сервер со вторичными + арбитрами будет работать, вся конфигурация перестанет работать должным образом. Есть ли способ избежать этого? Мне нужен PHP-клиент, чтобы иметь возможность подключаться к основному независимо от того, доступен ли сервер вторичного + арбитража или нет. Как достичь этого?
Версия клиентской библиотеки PHP mongo - 1.6.x, версия сервера - 3.0.