Mau*_*aes 6 mysql ruby-on-rails master-slave database-replication octopus
我正在开发Rails 4.0.2测试这个伟大的宝石八达通.
我创建了一个Slave db并配置章鱼如下(config> shards.yml):
octopus:
environments:
- development
replicated: true
fully_replicated: true
verify_connection: true
development:
slave1:
host: 192.168.1.12
adapter: mysql2
username: slave_reader
password: my_password
database: my_server_development
reconnect: true
Run Code Online (Sandbox Code Playgroud)
它非常好用,从Slave读取并写入Master,但是如果My Slave服务器关闭,我希望它重定向到Master db并获取内容,但是经过一段时间的尝试,它会抛出错误:
无法连接到'192.168.1.12'上的MySQL服务器(113)
如果Slave服务器关闭,我该怎么做才能使章鱼查找我的Master数据库?
提前致谢!
正如我在这篇博客文章中读到的那样,断电或无响应的从属设备可能会导致应用程序故障,因为八达通的默认行为是将所有数据写入主设备并从从设备读取所有数据(因为写入主设备的数据会复制到所有从设备)连接的从站)。正如 Octopus wiki 上所述,在多个从属环境中读取“多个从属”部分 是使用循环完成的,因此它始终默认从从属检索数据。
也摘自上述博客:作为后备机制,.using(:master)如果没有从属节点可用或数据尚未完全复制到从属节点,则应直接从主节点读取数据(使用)。它还可以是按应用程序缓存更改/结果的选项,以防止从数据库节点重复读取。
| 归档时间: |
|
| 查看次数: |
2442 次 |
| 最近记录: |