只读实例 RO 组

最近更新时间:2024-08-05 17:56:51

我的收藏

操作场景

云数据库 SQL Server 支持用户创建一个或多个只读实例组成只读实例 RO 组,适用于读写分离和一主多从应用场景,可显著提高用户数据库的读负载能力。
说明:
RO 组中只有一个只读实例的情况会存在单点风险,且此 RO 组不会计入云数据库 SQL Server 服务的整体可用性计算中,单个只读实例不提供可用性 SLA 保证,建议 RO 组中至少选购2个只读实例,来保证 RO 组的可用性。

前提条件

创建只读实例之前需要先创建云数据库主实例,请参见 创建 SQL Server 实例

操作步骤

创建只读实例 RO 组

1. 登录 SQL Server 控制台,在实例列表,单击实例 ID操作列的管理,进入详情页。
2. 在实例详情页,单击拓扑图中只读实例区域的“+”,进入购买页。

3. 在购买页,选择只读实例的相应配置,确认无误后,单击立即购买购买只读实例。
说明:
如果指定 RO 组选项配置为新建RO组,则需要在购买界面中填写新建的 RO 组的以下基本信息。
设置 RO 组名称:RO 组名称不要求唯一。支持长度小于60的中文、英文、数字、-_.
延时超限剔除:是否启动剔除策略。被剔除的实例权重自动设置为0。若只读实例延迟超过阈值将被剔除,且实例状态为停服同步中、权重为0,当只读实例延迟时间小于阈值时会重新加入到 RO 组。同时,不管实例是否启用延时超限剔除功能,当只读实例故障被剔除后,待实例修复也会重新加入到 RO 组。
延迟阈值:为只读实例设置延迟超限阈值,超过阈值的只读实例会被剔除 RO 组。
最少保留实例数:组内需要保证的实例下限数,若现有只读实例数小于等于此下限且延迟时间超过阈值,现有只读实例均不被剔除。

指定 RO 组
说明
系统自动分配(不指定)
若一次购买多个实例,将为每个实例分配一个独立的 RO 组。权重分配方式默认为系统自动分配。
新建 RO 组
新建一个 RO 组,若一次购买多个实例,将都分配至这个 RO 组。权重分配方式默认为系统自动分配。
已有 RO 组
指定一个已有 RO 组,若一次购买多个实例,将都分配至这个 RO 组。权重分配方式与 RO 组设置相同:如果 RO 组设置为系统自动分配,则根据购买规格自动添加 RO 组;如果为自定义分配,则默认权重为零。由于同一 RO 组内网地址相同,因此若是 VPC 网络将共享同一个安全组设置。若指定 RO 组,则在购买时无法再自定义安全组。
4. 返回实例列表,实例状态为发货中,待实例状态切换成运行中,则表示只读实例创建成功。

配置只读实例 RO 组

在只读实例 RO 组的配置界面,可以配置只读实例 RO 组的名称、延时超限策略、延时阈值、最少保留实例、读权重等基本信息。
说明:
RO 组内只读实例可使用不同规格,读流量权重可设置。
同一 RO 组内只读实例可以支持不同到期时间和计费方式。
1. 实例列表,选择需要设置只读实例 RO 组的主实例,单击实例 ID操作列的管理,进入实例管理页面。
2. 在实例管理页面,选择只读实例页,单击配置,进入只读实例 RO 组配置页。

3. 在弹出的对话框,可以对只读实例 RO 组进行详细配置。

RO 组名称:RO 组名称不要求唯一。支持中文、英文、数字、-_.
实例延时超限剔除:是否启动剔除策略。被剔除的实例权重自动设置为0。
延迟阈值:为只读实例设置延迟超限阈值,超过阈值的只读实例会被剔除 RO 组。
最少保留实例数:组内需要保证的实例下限数,若现有只读实例数小于等于此下限且延迟时间超过阈值,现有只读实例均不被剔除。
读权重分配:RO 组支持系统自动分配权重和自定义权重两种权重设置方式,备节点只读地址不参与权重分配。权重输入范围为0 - 100,且必须是整数。系统自动设置 SQL Server 实例的读权重值列表:
实例规格
权重
内存2000MB
1
内存4000MB
2
内存8000MB
2
内存12000MB
4
内存16000MB
4
内存24000MB
8
内存32000MB
8
内存48000MB
10
内存64000MB
12
内存96000MB
14
内存128000MB
16
内存244000MB
26
内存488000MB
50
重新负载均衡: 关闭重新负载均衡时,修改权重时仅对新增负载生效,不改变原长连接所访问的只读实例,不会引起数据库闪断。 开启重新负载均衡时,数据库会有秒级闪断来断开所有连接,新增连接将按照设置的权重均衡负载。

开启/关闭只读组外网地址

2. 选择地域,在实例列表找到需要开启只读组外网地址的主实例,单击其实例 ID操作列的管理
3. 实例详情页选择只读实例页,然后在 RO 组下的外网地址后单击开启关闭

4. 在开启或关闭外网设置窗口下阅读提示,单击确定,更详细的操作请参见 开启或关闭外网地址

销毁和删除只读实例 RO 组

RO 组不提供手动删除功能。
RO 组随着组内最后一个只读实例被彻底销毁而自动删除。
不支持保留空 RO 组。

相关 API

API
描述
接口(CreateReadOnlyDBInstances)用于添加只读副本实例。
接口(CreateCloudReadOnlyDBInstances)用于添加只读副本实例(云服务器版本)。
接口(DescribeReadOnlyGroupDetails)用于查询只读组详情。
接口(DescribeReadOnlyGroupList)用于查询只读组列表。
接口(DescribeReadOnlyGroupByReadOnlyInstance)用于通过只读副本实例 ID 查询其所在的只读组。
接口(ModifyReadOnlyGroupDetails)用于修改只读组详情。
接口(DescribeReadOnlyGroupAutoWeight)用于查询只读组的自动权重分配结果,在(BalanceReadOnlyGroup)接口中按照自动权重分配结果进行路由权重分配。
接口(BalanceReadOnlyGroup)用于根据预定义的权重平衡每个只读实例的路由权重。
接口(RecycleReadOnlyGroup)立即回收只读组的资源,只读组占用的 vip 等资源将立即释放且不可找回。