Я моделирую набор реплик из трех узлов:
localhost:8081 - PRIMARY
localhost:8082 - SECONDARY
localhost:8083 - SECONDARY
URI mongodb:
mongodb://localhost:8081,localhost:8082,localhost:8083/testDb?replicaSet=testreplica
Я использую приложение весенней загрузки с данными mongodb для выполнения чтениязапросы.
Когда доступны 2 или 3 узла, я могу получить данные из репликационного набора.
Когда узлы 8082 и 8083 недоступны, единственным доступным узлом является 8083 и, как и ожидалосьон становится вторичным, но в этом случае я не могу получить данные из репликационного набора.
Хотя бы из mongoshell, который я установил
db.getMongo().setReadPref('secondary')
Я выполнил эту команду с основного узла, когда все3 узла были активны.
В чем проблема? Почему я не могу выполнить операции чтения с отдельного вторичного узла, хотя для readPref установлено вторичное?