#ruby-on-rails #mongoid #database-replication
#ruby-on-rails #mongoid #репликация базы данных
Вопрос:
У меня возникли трудности с подключением к набору реплик mongoid из приложения rails.
У меня есть следующая конфигурация:
dev1:
clients:
default:
database: opera_bounties_dev1
hosts:
- 10.0.0.1:27017
- 10.0.0.2:27017
# read: :secondary
# slave_ok: true
options:
# read: :secondary
replicaSet: operaeventrsX
consistency: :strong
pool_size: 200
# slave_ok: true
# connect: :replica_set
Я могу нормально подключиться к основному, но если я выключу основной, я не смогу подключиться к вторичному. Теперь, если я подключусь через оболочку mongo к вторичному и выдам rs.slaveOk()
, я смогу подключиться к вторичному для этого одного сеанса. Мне нужно, чтобы мое приложение rails всегда подключалось к mongo с помощью slaveOk. настройка slave_ok: true
в конфигурации (выше) этого не делает… В чем здесь хитрость?
Ответ №1:
Рабочая конфигурация:
dev1:
clients:
default:
database: dbname_dev1
hosts:
- 10.0.0.1:27017
- 10.0.0.2:27017
options:
read:
mode: :secondary_preferred
consistency: :strong
pool_size: 200
connect: :replica_set
replica_set: replicaSetName