共计 1430 个字符,预计需要花费 4 分钟才能阅读完成。
概述
本文次要讲述在一个 RDS MySQL 集群中,如何在无限的工夫内尽可能放慢从 MySQL Read Replica 中晋升。
本计划实用场景
- 数据库数据量大、停机保护窗口工夫短
- 须要在晋升后须要立刻创立 Read Replica
计划形容
假设原有数据库集群为一个主节点、一个只读正本。咱们当初心愿将这个 RDS 集群拆分成 2 个独立的集群。
首先咱们须要在原集群中创立一个只读正本,而后只读期待数据同步实现。
您能够通过查看 Amazon RDS ReplicaLag 指标,在 Amazon CloudWatch 中监控复制滞后。当 ReplicaLag
指标达到 0 时,即示意正本已赶上主数据库实例进度。如果 ReplicaLag
指标返回 -1
,则以后未激活复制。ReplicaLag = -1
等效于 Seconds_Behind_Master = NULL
。
创立只读正本的行为,会从以后主节点的最新快照中复原出一个数据库正本。因而最近一次快照工夫会影响只读正本创立后数据同步的工夫。
倡议在创立只读正本之前查看最近一次快照的工夫,如果快照工夫间隔以后工夫比拟长。在创立手动快照后,能够缩短创立 Read Replica 的工夫。
在只读正本“Read Replica B”上创立快照。
期待实现快照创立,再“晋升”只读正本“Read Replica B”,并抉择启用主动备份。
此时在“Read Replica B”上做快照,速度会较快,起因是零碎会主动选取主节点的快照做增量快照,而不是对只读节点的全量存储做快照。
如果晋升时抉择不启动主动备份,晋升后的实例是无奈创立只读节点的。从新开启主动备份后即可创立只读节点,只须要将备份的保留周期设置为大于 0 天。
“晋升”实现后,“Read Replica B”会从“DB Cluster 1”的集群中分离出来,成为一个新的独立数据库集群“DB Cluster 2”。
“晋升”这个行为会主动触发被晋升节点的快照操作。默认状况下,新建的只读正本(Read Replica B)是没有快照的。因而会从全量存储中做一次快照,如果这个节点的数据量十分大,这个工夫将会继续很长。预计约 1 小时 /TB 的速度实现快照。
执行快照期间,您无奈对快照行为进行“勾销”操作,会减少非预期的窗口保护工夫。
如果依照后面的步骤,在曾经做过手工快照,此步骤的主动快照工夫会大大缩减。
在“DB Cluster 2”上创立只读正本“Read Reaplic B”,期待数据实现同步。
如果后面在晋升的时候没有开启主动备份,此时控制台中“创立只读”的菜单项为灰色禁用状态。
至此 RDS MySQL 的晋升并增加只读正本操作实现。
参考资料
在 Amazon RDS for MySQL 数据库上晋升 MySQL 只读正本的最佳实际 | 亚马逊 AWS 官网博客
应用只读正本 – Amazon Relational Database Service
本篇作者
林业
亚马逊云科技解决方案架构师,负责基于亚马逊云科技的云计算计划的征询与架构设计。领有超过 14 年研发教训,曾打造千万级用户 APP,多项 Github 开源我的项目贡献者。在游戏、IOT、智慧城市、汽车、电商等多个畛域都领有丰盛的实践经验。
茅金辉
亚马逊云科技资深技术客户经理
郁冰
亚马逊云科技技术客户经理,负责企业级客户的架构和老本优化、技术支持,帮助客户实现亚马逊云科技最佳实际等工作。曾就任于 Cisco,Microsoft 等技术公司,长期从事于平安,网络,私有云等技术畛域。
更多信息,请拜访链接:https://aws.amazon.com/cn/get…