更新时间:2024-04-01 GMT+08:00
设置读写分离权重
开通读写分离功能后,您可以根据需要设置读写分离的读权重。调整数据库节点及读权重在“路由模式”进行设置。
功能描述
- 读写分离功能成功开启后,主节点和只读节点均可以设置读权重。
- 主节点的读权重值越高,处理的读请求越多,主节点的读权重值默认为0。
- 当所有节点的读权重均为0时,不会影响业务的正常读写,此时会默认由主节点来处理所有的读写请求。
- 单个只读节点的权重值范围为0~1000。
- 开通读写分离功能后,新增只读节点默认会加入代理中,默认读权重为0。具体分配规则请参见系统权重分配规则。
操作步骤
- 登录管理控制台。
- 单击管理控制台左上角的
,选择区域和项目。
- 在页面左上角单击
,选择 。
- 在实例列表中,单击目标实例名称,进入实例的“基本信息”页面。
- 在“数据库代理”页面,选择目标代理实例,单击代理实例名称。
- 在“基本信息”页面,单击“路由模式”后的“设置”。
- 在弹出的对话框中,在左侧勾选数据库节点后,在右侧的“读权重”列设置选择节点的读权重。
- 各业务可以通过代理实例的代理地址连接实例。读写请求会分别转发到关联的数据库节点。您也可以对代理实例添加或移除数据库节点。
- 读写模式的代理实例,可转发读、写请求,其中,写请求全部路由到主节点,读请求根据读权重配比分发到各个数据库节点。
- 只读模式的代理实例,只能转发读请求,读请求根据读权重配比分发到各个只读节点,不会分发到主节点。
- 负载均衡模式下,读请求仅会分发到选择的数据库节点上,不支持修改权重。
- 权重负载模式下,可以为已选择的数据库节点设置权重。
图1 设置权重(权重负载模式)示例:
例如1个实例有1个主节点和2个只读节点,已开启两个代理实例。
- 代理实例1为读写模式,已选择主节点和只读节点1,读权重配置为200、100,则主节点和只读节点1将按照2:1的比例处理读请求。即主节点处理2/3的读请求,只读节点1处理1/3的读请求,写请求自动发往主节点。
- 代理实例2为只读模式,已选择主节点和只读节点2,读权重配置为100、200,则主节点权重在进行读请求处理分配时不生效,由只读节点2处理所有的读请求。
图2 多个代理各节点处理读请求比例- 多个代理实例的场景下,新增只读节点默认会加入代理中,默认读权重为0。
- 实例释放后将自动移除权重。
相关API
父主题: 数据库代理(读写分离)