приложение rails подключается к набору реплик mongoid

#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