读写分离是指通过独享代理地址(读写分离地址)实现读写请求的自动转发。

前提条件

操作步骤

  1. 进入数据库代理页面。
    1. 登录RDS管理控制台,在左侧单击实例列表,然后在上方选择地域。
      选择地域
    2. 单击目标实例ID,在左侧导航栏单击数据库代理
  2. 选择读写分离页签,单击立即开启
  3. 设置如下参数。
    设置权重
    参数 说明
    延迟阈值 只读实例同步主实例数据时允许的最长延迟时间。若一个只读实例的延迟时间超过该阈值,则不论该只读实例的权重是多少,读请求都不会转发至该只读实例。

    取值范围为0秒到7200秒。受限于SQL的执行情况,只读实例有一定的几率会出现延迟,建议该值不小于30秒。

    读权重分配 实例的读权重越高,处理的读请求越多。例如,假设主实例有3个只读实例,读权重分别为0、100、200和200,则表示主实例不处理读请求(写请求仍然自动发往主实例),3个只读实例按照1:2:2的比例处理读请求。
    • 系统分配:系统根据实例规格自动分配各个实例的读权重。后续该主实例下新增的只读实例也会自动按照系统分配的权重加入到读写分离链路中,无需手动设置。更多信息请参见系统权重分配规则
    • 自定义:手动设置各个实例的读权重,范围为0至10000。后续该主实例下新增只读实例的读权重默认为0,需要您手动修改。
    说明 不支持为已经设置只读实例延时复制时间的实例设置权重。
  4. 单击确定

开通后,您需要在应用程序中配置读写分离地址(即独享代理地址),就可以使写请求自动转发到主实例,读请求自动转发到各个只读实例。

页面介绍

开启数据库独享代理后,您可以在该页面设置读写分离的部分参数,说明如下。

读写分离地址
类别 参数 说明
读写分离基本信息 读写分离地址 在应用程序中使用读写分离地址,即可实现读写请求的自动转发。
说明 代理服务页面的多个连接地址都是读写分离地址,您可以根据访问类型或业务需求配置在不同的应用程序中。
网络端口 读写分离地址的端口。
地址类型 读写分离地址的地址类型。
延迟阈值 只读实例同步主实例数据时允许的最长延迟时间。若一个只读实例的延迟时间超过该阈值,则不论该只读实例的权重是多少,读请求都不会转发至该只读实例。
权重分配模式 分为如下两种模式:
  • 系统分配:系统根据实例规格自动分配各个实例的读权重。后续该主实例下新增的只读实例也会自动按照系统分配的权重加入到读写分离链路中,无需手动设置。更多信息请参见系统权重分配规则
  • 自定义:手动设置各个实例的读权重,范围为0至10000。后续该主实例下新增只读实例的读权重默认为0,需要您手动修改。
参与实例个数 参与读写分离的主实例和只读实例的总个数。
主实例 主实例ID。 右侧会显示对应的权重。
只读实例 只读实例ID。右侧会显示对应的权重。
事务拆分 读写分离地址是否开通了事务拆分功能。事务拆分能够将事务内写操作之前的读请求转发到只读实例,降低主实例负载。详情请参见事务拆分
说明 您可以单击右侧的开通关闭按钮开关事务拆分功能。
读写分离示意图 展示主实例和只读实例的架构以及当前状态。

相关API

API 描述
DescribeDBProxy 查询RDS实例的数据库独享代理详情。
DescribeDBProxyEndpoint 查询RDS实例独享代理的连接地址信息。
ModifyDBProxyEndpoint 修改RDS实例数据库独享代理的连接地址信息。