更新时间:2024-04-01 GMT+08:00

设置读写分离权重

开通读写分离功能后,您可以根据需要设置读写分离的读权重。调整数据库节点及读权重在“路由模式”进行设置。

功能描述

  • 读写分离功能成功开启后,主节点和只读节点均可以设置读权重。
  • 主节点的读权重值越高,处理的读请求越多,主节点的读权重值默认为0。
  • 当所有节点的读权重均为0时,不会影响业务的正常读写,此时会默认由主节点来处理所有的读写请求。
  • 单个只读节点的权重值范围为0~1000。
  • 开通读写分离功能后,新增只读节点默认会加入代理中,默认读权重为0。具体分配规则请参见系统权重分配规则

操作步骤

  1. 登录管理控制台
  2. 单击管理控制台左上角的,选择区域和项目。
  3. 在页面左上角单击,选择数据库 > 云数据库 GaussDB(for MySQL)
  4. 在实例列表中,单击目标实例名称,进入实例的“基本信息”页面。
  5. 在“数据库代理”页面,选择目标代理实例,单击代理实例名称。
  6. 在“基本信息”页面,单击“路由模式”后的“设置”。
  7. 在弹出的对话框中,在左侧勾选数据库节点后,在右侧的“读权重”列设置选择节点的读权重。

    • 各业务可以通过代理实例的代理地址连接实例。读写请求会分别转发到关联的数据库节点。您也可以对代理实例添加或移除数据库节点。
    • 读写模式的代理实例,可转发读、写请求,其中,写请求全部路由到主节点,读请求根据读权重配比分发到各个数据库节点。
    • 只读模式的代理实例,只能转发读请求,读请求根据读权重配比分发到各个只读节点,不会分发到主节点。
    • 负载均衡模式下,读请求仅会分发到选择的数据库节点上,不支持修改权重。
    • 权重负载模式下,可以为已选择的数据库节点设置权重。
    图1 设置权重(权重负载模式)

    示例:

    例如1个实例有1个主节点和2个只读节点,已开启两个代理实例。

    • 代理实例1为读写模式,已选择主节点和只读节点1,读权重配置为200、100,则主节点和只读节点1将按照2:1的比例处理读请求。即主节点处理2/3的读请求,只读节点1处理1/3的读请求,写请求自动发往主节点。
    • 代理实例2为只读模式,已选择主节点和只读节点2,读权重配置为100、200,则主节点权重在进行读请求处理分配时不生效,由只读节点2处理所有的读请求。
    图2 多个代理各节点处理读请求比例
    • 多个代理实例的场景下,新增只读节点默认会加入代理中,默认读权重为0。
    • 实例释放后将自动移除权重。