RDS MySQL支持多个代理终端,本文介绍如何新增代理终端。

前提条件

限制

当前最多可以开通7个代理终端。

操作步骤

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
  2. 在左侧导航栏单击数据库代理
  3. 单击页面右上角的新增代理终端
  4. 设置如下参数。
    参数 说明
    自定义代理终端 指定代理终端的名称,最多支持30个字符。
    读写属性 设置读写方式。
    • 读写:同时连接主实例和只读实例,可以接受写请求。
    • 只读(默认):仅连接只读实例,不接受写请求。
    连接池 代理连接地址设置的连接池类型:
    • 事务级连接池(默认):适用于总连接数比较多(如连接数上万)的场景。
    • 会话级连接池:适用于PHP短连接场景。
    • 关闭连接池:不使用连接池。

    更多信息,请参见设置连接池类型

    说明 仅在读写属性读写(链接主实例,可接受写请求)时可选。
    延迟阈值 只读实例同步主实例数据时允许的最长延迟时间。若一个只读实例的延迟时间超过该阈值,则不论该只读实例的权重是多少,读请求都不会转发至该只读实例。

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

    说明 仅在读写属性读写(链接主实例,可接受写请求)时可选。
    事务拆分 是否开启事务拆分功能。事务拆分能够将事务内写操作之前的读请求转发到只读实例,降低主实例负载。默认为开启。
    说明 仅在读写属性读写(链接主实例,可接受写请求)时可选。
    读权重分配 实例的读权重越高,处理的读请求越多。例如,假设主实例有3个只读实例,读权重分别为0、100、200和200,则表示主实例不处理读请求(写请求仍然自动发往主实例),3个只读实例按照1:2:2的比例处理读请求。
    • 系统分配:系统根据实例规格自动分配各个实例的读权重。后续该主实例下新增的只读实例也会自动按照系统分配的权重加入到读写分离链路中,无需手动设置。更多信息请参见系统权重分配规则
    • 自定义:手动设置各个实例的读权重,范围为0至10000。后续该主实例下新增只读实例的读权重默认为0,需要您手动修改。
    说明 不支持为已经设置只读实例延时复制时间的实例设置权重。
  5. 单击确定

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