创建只读实例后,通过购买数据库代理,配置连接地址策略,在应用程序中配置数据库代理地址,就可以使写请求自动转发到主实例,读请求自动转发到各个只读实例。本文介绍通过控制台设置数据库代理的读写分离配置。
前提条件
操作步骤
说明:
成功开通数据库代理后,数据库代理连接地址的属性默认为读写分离,主实例和只读实例的权重分配为系统自动分配,您可参考如下步骤,对数据库代理连接地址的读写属性等配置进行设置。
1. 登录 云数据库 PostgreSQL 控制台。
2. 在实例列表找到目标实例,单击实例 ID 进入实例管理页。
3. 在实例管理页,选择数据库代理页。
4. 在概览 > 连接地址下,单击调整配置。

说明:
在访问策略页面,单击设置,也可以进入配置页面。
5. 在弹窗中,完成如下配置,单击确定。

参数 | 说明 |
地址 ID | 展示数据库代理连接地址 ID。 |
连接地址 | 展示数据库代理的内网连接地址。 |
读属性 | 默认为读写分离。 |
读权重分配 | 数据库代理需要将读请求分发给不同的实例。通过为各个实例分配不同的读权重,数据库代理可以根据实例的权重值来决定将请求路由到哪个实例。这里支持选择系统自动分配或自定义。 若选择自定义分配,则支持对不同实例访问数据库的权重进行分别配置,以下是读权重分配时,启用和权重相关的说明: 启用:开启按钮,表示所选实例会被分配连接,关闭启用按钮,表示所选实例不会被分配连接。 权重:权重值的范围为0 - 100,设置为0表示所选实例会被分配连接且权重最小。数值越大,权重越大,可以接收到更多的读请求。设置完读权重分配,读请求会按比例路由到对应实例。例如分别为实例1、实例2、实例3分配读权重值为3、2、1,表示来源于数据库代理连接地址的读请求,会按照3:2:1的比例分别路由到实例1、实例2、实例3。 说明: 此处的权重是面向读请求(非事务)权重的分配策略。 权重设置仅对新增的连接才会生效。存量已经建立的数据连接不会生效。 |
延迟剔除 | 设置只读实例延迟剔除策略,此项开启时,可设置延迟剔除阈值和只读实例最小保留数。无论此项是否启用,只读实例故障时均会尝试剔除和恢复。 延迟剔除阈值:输入大于或等于1的整数,单位为秒。 只读实例最小保留数:数量与主实例拥有只读实例数相关,设置为0时,当只读节点全部被剔除后,所有访问会转发到主实例上,直至只读实例重新加入。 |
自动添加只读实例 | 设置是否开启,开启后,若您购买新的只读实例,会自动添加到数据库代理中。 当读权重为系统自动分配时,新购只读实例按照规格大小默认权重分配。 当读权重为自定义时,新购只读实例默认加入时权重为0,可通过数据库代理页,连接地址下的调整配置来修改。 |
连接池 | 连接池功能主要用于减少短连接业务频繁建立新连接带来的实例负载。开启后仅支持事务级别连接池。 |
负载均衡策略 | 设置负载均衡的策略,支持选项为:按活跃连接数、按请求数。 |
描述 | 输入数据库代理连接地址的描述,便于管理。 |