我对AWS RDS MySQL多可用区(HA)有一些经验。我正在寻找一个新项目的GCP Cloud SQL Postgres HA。
我正在尝试确定某些维护操作的工作方式,但无法从Cloud SQL文档中弄清楚。
仅供参考,AWS RDS的答案
故障转移:通常在不到70秒的不可用时间内,我的应用程序才能再次发出查询。
CPU /内存升级:我认为AWS可以通过一次不值得的故障转移来完成此任务。它会升级备用实例(不可用),执行故障转移,然后再升级另一个实例。
在RDS上,我认为属于HA设置的两个实例是对称的。因此,如果您将故障转移到备用数据库,则可以采用这种方式。就RDS而言,没有必要将故障转移回到原始状态。
要回答以下问题:
正如您提到的,不可用性的持续时间会有所不同,具体取决于它是计划的(手动)故障转移还是计划外的故障转移。最好进行测试并手动启动故障转移,以便可以看到实例对其进行响应的时间,通常需要一分钟左右的时间。当涉及到计划外的故障转移时,文档中几乎涵盖了发生故障转移时,与主实例和只读副本的所有现有连接都将关闭,并且重建连接大约需要2-3分钟。
要解决此问题,您需要了解实例的要求以允许故障转移:
主实例必须处于正常运行状态(未停止,正在进行维护或执行长时间运行的Cloud SQL实例操作,例如备份,导入或导出操作)。
这意味着故障升级在升级实例时不起作用,更改硬件规格(CPU /内存)将导致停机,因此您在进行这些更改时应提前计划。
高可用性解决方案将数据连续复制到远程站点或云。如果主系统发生故障,则可以启动远程辅助系统,并重新路由用户。此过程通常称为“故障转移”,它将停机时间减少到几秒钟或几分钟。
但是,故障转移不是永久状态。主服务器启动并运行后,必须还原数据和应用程序,以便可以恢复正常操作。此过程称为故障回复,从灾难恢复测试的角度来看,这一过程非常重要。原因如下:涉及故障回复时,并非所有复制技术都是平等创建的。在某些情况下,故障转移到生产服务器可能会非常缓慢。
更新1: Cloud SQL上的HA将为您的备用实例提供与主实例相似的规格,这就是为什么您要向非HA实例支付两倍价格的原因。同样,故障回复的重要性不仅限于任何云提供商。确保所有操作返回到主实例而不是仅将其保留在备用实例上只是一个好习惯。在这种情况下,必须进行故障恢复(具体来说是在Cloud SQL上),以确保中断后一切恢复正常。
更新2:如果不进行故障回复,则可能会发生以下情况:当备用实例运行所在的区域发生故障时(您无法控制备用实例来自哪个区域),您将无法进行故障转移,因为操作将被阻止。(请参阅文档)
不幸的是,几乎没有其他选择,因为每当您更换硬件时都需要停机。该过程将要求实例重新启动。这是查看所需时间的链接。
其他资源:https : //severalnines.com/database-blog/achieving-mysql-failover-failback-google-cloud-platform-gcp
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句