操作场景
云数据库 MySQL 支持用户创建一个或多个只读实例组成只读实例 RO 组,适用于读写分离和一主多从应用场景,可显著提高用户数据库的读负载能力。
RO 组是只读实例的集合,一个 RO 组共享一个地址,同时还可以设置其中只读实例的权重进行流量负载均衡、设置延迟剔除等。用户可根据需要部署 RO 组,并将相应的读请求按一定规则发送到只读实例。配置同一个 RO 组内的多个只读实例可起到容灾的作用。
前提条件
创建只读实例 RO 组
1. 登录 MySQL 控制台,在实例列表,单击实例 ID 或操作列的管理,进入实例管理页。 2. 在实例详情页,单击实例架构图中的添加只读实例,或在只读实例页,单击新建,进入购买页。
3. 在购买页,选择只读实例的相应配置,确认无误后,单击立即购买。
指定RO组:选择新建RO组,若一次购买多个实例,将都分配至这个 RO 组。权重分配方式默认为系统自动分配。
设置RO组名称:RO 组名称不要求唯一。支持长度小于60的中文、英文、数字、-
、_
、.
。
延迟超限剔除:指在实例的主从复制过程中,当从库无法及时获取主库的更新内容,并且延迟的时间超过预设的时间阈值时,会自动断开与主库的连接并将从库剔除出复制链路,以保障复制链路的可用性和性能。设置是否启动剔除策略。
若只读实例延迟超过阈值被剔除会向用户发出告警(配置只读实例剔除告警和接收对象请参见 告警功能),且实例状态为停服同步中、权重为0,当只读实例延迟时间小于阈值时会重新加入到 RO 组。同时,不管实例是否启用延时超限剔除功能,当只读实例故障被剔除后,待实例修复也会重新加入到 RO 组。 延迟阈值:为只读实例设置延迟超限阈值,超过阈值的只读实例会被剔除 RO 组。
最少保留实例数:组内需要保证的实例下限数,若现有只读实例数小于等于此下限且延迟时间超过阈值,现有只读实例均不被剔除。
读权重分配:系统自动分配。
计费模式:支持包年包月和按量计费两种计费模式。
地域:默认和主实例一致。
数据库版本:默认和主实例版本一致。
引擎:默认和主实例一致。
架构:为单节点。单节点架构,性价比高,但单个只读实例存在单点风险,建议对可用性有要求的业务 RO 组内至少选购2个只读实例,保证可用性。
数据复制方式:异步复制。
可用区:新建 RO 组时,支持选择与主实例同可用区或跨可用区。不同可用区之间没有实质性区别,选择创建跨可用区 RO 组将提升数据容灾能力,但存在几毫秒的网络延迟。
4. 返回实例列表,创建的实例状态为发货中,待状态切换成运行中,则表示只读实例创建成功。
配置只读实例 RO 组
在只读实例 RO 组的配置界面,可以配置只读实例 RO 组的 ID、名称、实例延迟复制、延迟时间、实例延迟超限剔除、延时阈值、最少保留实例、读权重等基本信息。
说明:
RO 组内只读实例可使用不同规格,读流量权重可设置。
同一 RO 组内只读实例可以支持不同到期时间和计费方式。
开启延迟复制后,RO组中所有RO实例均会生效,不改变RO实例的复制状态。
开启延迟复制后,延迟时间选项才会出现。
2. 在实例管理页面,选择只读实例页,在 RO 组列单击配置,进入 RO 组配置页。
3. 在 RO 组配置页,配置 RO 组信息,单击确定。
实例延迟复制:可通过设置延迟复制以及在延迟期间选择启动恢复到指定时间或 GTID(全局事务标识),来实现高效回档数据和故障快速回溯。
延迟时间:只读实例与主实例间的延迟复制时间,可设置范围:1 - 259200秒。
实例延迟超限剔除:是否启用剔除策略。被剔除的实例权重自动设置为0。若只读实例延迟超过阈值被剔除会向用户发出告警,配置只读实例剔除告警和接收对象请参见 告警功能。 延迟阈值:为只读实例设置延迟超限阈值,超过阈值的只读实例会被剔除 RO 组。
最少保留实例数:组内需要保证的实例下限数,若现有只读实例数小于等于此下限且延迟时间超过阈值,现有只读实例均不被剔除。
读权重分配:RO 组支持系统自动分配权重和自定义权重两种权重设置方式。权重输入范围为0 - 100,且必须是整数。系统自动设置双节点、三节点 MySQL 实例的读权重值列表:
重新负载均衡:
关闭重新负载均衡时,修改权重时仅对新增负载生效,不改变原长连接所访问的只读实例,不会引起数据库闪断。
开启重新负载均衡时,数据库会有秒级闪断来断开所有连接,新增连接将按照设置的权重均衡负载。 销毁删除只读实例 RO 组
说明:
RO 组不提供手动删除功能。
RO 组随着组内最后一个只读实例被彻底销毁而自动删除。
不支持保留空 RO 组。
2. 在实例管理页面,选择只读实例页,在右侧操作列,单击销毁/退货或销毁/退货退费。
3. 在弹出的对话框,阅读并同意销毁规则,单击立即销毁。
热点问题
创建只读实例时,为什么无法选择某个可用区?
无法选择某个可用区,表示该可用区暂无资源,您可以根据实际购买页面选择其他可用区,不影响您使用只读实例。
创建只读实例时,是否可以选择和主实例分布在不同的可用区?
可以。创建只读实例,选择新建 RO 组时,支持选择和主实例不同的可用区,但如果创建只读实例时选择已有 RO 组,则该只读实例的可用区只能与所选的已有 RO 组所在可用区保持一致,不一定和主实例分布在同一可用区。
本页内容是否解决了您的问题?