一、操作场景
注意:说明:
注意:RO 组中只有一个只读实例的情况会存在单点风险,且此 RO 组不会计入云数据库 SQL Server 服务的整体可用性计算中,单个只读实例不提供可用性 SLA 保证,建议 RO 组中至少选购2个只读实例,来保证 RO 组的可用性。
二、前提条件
创建只读实例之前需要先创建云数据库主实例,请参见 创建 SQL Server 实例。
三、创建只读实例 RO 组
1. 登录 SQL Server 控制台,在实例列表,单击实例 ID 或操作列的管理,进入详情页。
2. 在实例详情页,单击拓扑图中只读实例区域的“+”,进入购买页。
3. 在购买页,选择只读实例的相应配置,确认无误后,单击立即购买购买只读实例。
注意:说明:
注意:如果指定 RO 组选项配置为新建RO组,则需要在购买界面中填写新建的 RO 组的以下基本信息。
注意:
| 指定 RO 组 | 说明 |
| 系统自动分配(不指定) | 若一次购买多个实例,将为每个实例分配一个独立的 RO 组。权重分配方式默认为系统自动分配。 |
| 新建 RO 组 | 新建一个 RO 组,若一次购买多个实例,将都分配至这个 RO 组。权重分配方式默认为系统自动分配。 |
| 已有 RO 组 | 指定一个已有 RO 组,若一次购买多个实例,将都分配至这个 RO 组。权重分配方式与 RO 组设置相同:如果 RO 组设置为系统自动分配,则根据购买规格自动添加 RO 组;如果为自定义分配,则默认权重为零。由于同一 RO 组内网地址相同,因此若是 VPC 网络将共享同一个安全组设置。若指定 RO 组,则在购买时无法再自定义安全组。 |
4. 返回实例列表,实例状态为发货中,待实例状态切换成运行中,则表示只读实例创建成功。
四、配置只读实例 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 |
·重新负载均衡:
关闭重新负载均衡时,修改权重时仅对新增负载生效,不改变原长连接所访问的只读实例,不会引起数据库闪断。
开启重新负载均衡时,数据库会有秒级闪断来断开所有连接,新增连接将按照设置的权重均衡负载。
五、开启/关闭只读组外网地址
1. 登录 SQL Server 控制台。
2. 选择地域,在实例列表找到需要开启只读组外网地址的主实例,单击其实例 ID 或操作列的管理。
3. 在实例详情页选择只读实例页,然后在 RO 组下的外网地址后单击开启或关闭。
4. 在开启或关闭外网设置窗口下阅读提示,单击确定,更详细的操作请参见 开启或关闭外网地址。
六、销毁和删除只读实例 RO 组
·RO 组不提供手动删除功能。
·RO 组随着组内最后一个只读实例被彻底销毁而自动删除。
·不支持保留空 RO 组。
七、相关 API
| API | 描述 |
| 创建只读实例 | 接口(CreateReadOnlyDBInstances)用于添加只读副本实例。 |
| 创建只读实例(云服务器版本) | 接口(CreateCloudReadOnlyDBInstances)用于添加只读副本实例(云服务器版本)。 |
| 查询只读组详情 | 接口(DescribeReadOnlyGroupDetails)用于查询只读组详情。 |
| 查询只读组列表 | 接口(DescribeReadOnlyGroupList)用于查询只读组列表。 |
| 通过只读实例查询只读组 | 接口(DescribeReadOnlyGroupByReadOnlyInstance)用于通过只读副本实例 ID 查询其所在的只读组。 |
| 修改只读组详情 | 接口(ModifyReadOnlyGroupDetails)用于修改只读组详情。 |
| 查询只读组的自动权重 | 接口(DescribeReadOnlyGroupAutoWeight)用于查询只读组的自动权重分配结果,在(BalanceReadOnlyGroup)接口中按照自动权重分配结果进行路由权重分配。 |
| 平衡只读实例的路由权重 | 接口(BalanceReadOnlyGroup)用于根据预定义的权重平衡每个只读实例的路由权重。 |
| 立即回收只读组的资源 | 接口(RecycleReadOnlyGroup)立即回收只读组的资源,只读组占用的 vip 等资源将立即释放且不可找回。 |