我已按照以下教程在 ec2 上设置 mongodb,
我仅限于一个主节点和 1 个辅助节点,当我的 ror 应用程序尝试访问数据库时,节点之间会相互切换,这会产生问题。我在 mongoid.yml 文件中使用了主节点的实例地址。由于副本相互交换,应用程序无法连接到数据库。
我该如何解决这个问题,因为如果我为主数据库设置优先级,它仍然可能失败并且辅助数据库将成为主数据库。
我已按照以下教程在 ec2 上设置 mongodb,
我仅限于一个主节点和 1 个辅助节点,当我的 ror 应用程序尝试访问数据库时,节点之间会相互切换,这会产生问题。我在 mongoid.yml 文件中使用了主节点的实例地址。由于副本相互交换,应用程序无法连接到数据库。
我该如何解决这个问题,因为如果我为主数据库设置优先级,它仍然可能失败并且辅助数据库将成为主数据库。
首先,您的 rails/ruby 版本是否有最新版本的 mongoid?
为什么不在 mongoid.yml 中配置多个主机?看看http://mongoid.org/en/mongoid/docs/installation.html#configuration
您也可以尝试使用保存模式。
您是否设置了各个副本集成员的优先级?我们对设置所做的是,我们将 Primary 设置为最高优先级(2 工作正常),然后 Secondary 保持默认的 Primary 1。说明:http ://docs.mongodb.org/manual/tutorial/adjust-副本集成员优先级/