
# 修改TaurusDB读写分离权重
#### 操作场景
在高并发的数据库访问场景中，如果所有读请求都直接发送到主节点，会导致主节点负载过高，影响数据库性能。开通数据库代理后，您可以根据需要修改读写分离的读权重，读请求会按照读权重分发到各个节点，进行读写分离，降低主节点的负载。
仅权重负载的路由模式支持修改读权重，实例释放后将自动移除权重。
#### 权重解析
如[图1]所示，1个TaurusDB实例有1个主节点和3个只读节点，已开启两个数据库代理实例，均使用权重负载的路由模式。
- 代理实例1为读写模式，已选主节点和只读节点1，读权重配置为100、200，则主节点和只读节点1将按照1:2的比例处理读请求。即主节点处理1/3的读请求，只读节点1处理2/3的读请求，写请求自动发往主节点处理。
- 代理实例2为只读模式，主节点不可选，已选只读节点2和只读节点3，读权重配置为100、200，则只读节点2和只读节点3将按照1:2的比例处理读请求。即只读节点2处理1/3的读请求，只读节点3处理2/3的读请求。
图1多代理下的读写分离（权重负载模式）   
![](https://support.huaweicloud.com/usermanual-taurusdb/figure/zh-cn_image_0000002523665764.png)
#### 注意事项
- 主节点和只读节点均可以设置读权重。
- 主节点的读权重值越高，处理的读请求越多，主节点的读权重值默认为0。
- 当所有节点的读权重均为0时，不会影响业务的正常读写，此时会默认由主节点来处理所有的读写请求。
- 单个只读节点的权重值范围为0\~1000。
 
- 如果开启了新节点自动加入代理功能，后续新增的只读节点会自动加入代理，默认读权重为100。
#### 操作步骤
1. [登录TaurusDB管理控制台](https://console.huaweicloud.com/gaussdbformysql/#/management/list)。
2. 单击管理控制台左上角的![](https://support.huaweicloud.com/usermanual-taurusdb/figure/zh-cn_image_0000002671347251.png)，选择区域。
3. 在实例列表中，单击目标实例名称，进入实例概览页面。
4. 在"数据库代理"页面，选择目标代理实例，单击代理实例名称，进入代理实例基本信息页面。
5. 在"基本信息"区域，单击"路由模式"后的"设置"。
6. 在弹框中"选择数据库节点"处，勾选目标节点来添加或移除加入数据库代理的数据库节点，在"读权重"列设置读权重，数据库代理会根据您设置的读权重比例分发读请求。 
   图2设置读权重   
   ![](https://support.huaweicloud.com/usermanual-taurusdb/figure/zh-cn_image_0000002659096278.png "点击放大")
   
   
   
7. 单击"确定"，代理实例运行状态变为"设置代理实例路由模式中"，此过程大概需要几分钟。
8. 修改完成后，代理实例运行状态变为"正常"，您可查看到权重已更新。
 
#### 相关API
[设置读写分离权重](https://support.huaweicloud.com/api-taurusdb/SetGaussMySqlProxyWeight.html)
