【发布时间】:2016-08-07 05:28:16
【问题描述】:
我在开发环境中配置了没有只读副本的多可用区 RDS mysql 实例,我正在通过重启数据库实例来测试多可用区 RDS 故障转移。
以下是我的观察: 在 RDS 故障转移期间,客户端应用程序不会丢失连接,但同时它也无法访问数据库,并且一旦故障转移完成后,客户端将能够访问数据库。
更新1:以上观察是错误的。我刚才观察到的是,在故障转移完成后,我遇到错误并导致连接终止。
ERROR 2003 (HY000): Can't connect to MySQL server on 'rds-test.czswqpewzqas.---------.amazonaws.com' (110)
简而言之,在多可用区 mysql 实例重新启动期间,我的查询失败了。 有谁知道,我在这里缺少什么。
更新 - 实现读取可用性:现在我为多可用区 mysql 实例创建了一个只读副本,并在遇到上述错误时,将“选择查询”重定向到只读副本实例。 p>
所以,使用只读副本我能够实现读取可用性。这是正确的方法吗?想知道是否有其他方法可以做到这一点。
另外,如何在多可用区 RDS 中实现写入可用性?
【问题讨论】:
-
您没有指明您使用的是什么语言、框架和数据库池。证明,在错误发生之前,您的代码已经完成了新的 DNS 查找,因为 IP 在故障转移期间发生了变化。 Ignoring the other questions, they are not part of the given problem.
标签: amazon-web-services amazon-rds failover