读写分离是指通过一个只读地址实现读请求的自动转发。通过RDS的读写分离地址,可以使读请求按照设置的权重自动转发到各个只读实例。本文将介绍如何开通读写分离功能。

前提条件

  • 实例是主实例(不是只读实例或灾备实例)。
  • 实例为SQL Server 2017集群版实例。
  • 实例下有至少一个只读实例。关于如何创建只读实例,请参见创建只读实例

注意事项

  • 第一次开通读写分离功能时,为保证服务的正常使用,系统会自动将开通该功能的主实例及其所关联的所有只读实例都升级到后端管控系统的最新版本。主实例会有1次30秒内的闪断,而只读实例在整个重启过程中都无法访问。建议在业务低峰期开通读写分离功能,并确保您的应用有自动重连机制,以避免闪断影响。
  • 若您在2017年3月8日后,对要开通读写分离功能的主实例和只读实例都自行做过至少1次的重启或者规格变更操作,则这些实例的后端管控系统已经自动升级到最新版本,开通读写分离功能时,系统不会再对实例进行重启,也不会产生闪断。
  • 开通读写分离生成的只读地址是固定的,不会因为多次关闭/开启读写分离而变化,不用多次更改应用程序,降低维护成本。
    说明 读写分离地址暂不支持手动修改。
  • 开通及使用读写分离功能是免费的,当前仅收取只读实例的费用。
  • 读写分离功能暂不支持经典网络。

操作步骤

  1. 登录RDS管理控制台
  2. 在页面左上角,选择实例所在地域。
    选择地域
  3. 找到目标实例,单击实例ID。
  4. 在左侧导航栏中单击集群管理
  5. 单击右侧立即开启

  6. 填写设置信息,如下图所示。

    参数 说明
    地址类型 读写分离地址的类型。
    • 内网地址:因为SQL Server 2017集群版只支持专有网络,因此内网地址的类型也是专有网络,读写分离地址只能用于专有网络内。
    • 外网地址:用于从外网对实例进行访问,由于外网网络易波动,建议在业务中使用内网地址进行连接。
    读权重分配 实例的读权重越高,处理的读请求越多。例如,假设主实例有3个只读实例,读权重分别为100、200和200,则表示3个只读实例按照1:2:2的比例处理读请求。
    • 系统分配:系统根据实例规格自动分配各个实例的读权重。后续该主实例下新增的只读实例也会自动按照系统分配的权重加入到读写分离链路中,无需手动设置。更多信息请参见系统权重分配规则
    • 自定义:手动设置各个实例的读权重,范围为0至10000。后续该主实例下新增只读实例的读权重默认为0,需要您手动修改。
  7. 单击确定

后续操作

您可以修改应用程序,使用读写分离地址连接RDS实例。
说明基本信息页面或 集群管理页面均可看到读写分离地址。