
# 修改TaurusDB代理的路由模式
#### 操作场景
TaurusDB数据库代理支持在[开通数据库代理](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_11_0017.html#ZH-CN_TOPIC_0000001882727556__section331014103811)时，设置路由模式，默认为权重负载。也可以在数据库代理开通成功后，按照本章节方法修改路由模式。
#### 路由模式的工作原理
TaurusDB数据库代理支持权重负载、负载均衡和可用区就近负载的路由模式，可根据需要配置不同的路由模式。
#### 权重负载
根据设置的读权重比例分发读请求。
如图所示，数据库代理使用权重负载的路由模式，并选取了主节点、只读节点R1、只读节点R2，其读权重配比为0:1:2。则业务系统A的写请求经数据库代理自动转发至主节点，而读请求则按照1:2的比例分别路由至只读节点R1和R2。
图1权重负载示意图   
![](https://support.huaweicloud.com/usermanual-taurusdb/figure/zh-cn_image_0000002689723041.png "点击放大")
#### 负载均衡
根据数据库节点的活跃连接数情况进行读请求分发，将读请求分发到活跃连接数较少的节点上。负载均衡模式不需要修改权重。
如图所示，数据库代理使用负载均衡的路由模式，并选取了主节点、只读节点R1和只读节点R2，数据库代理将根据实时活跃连接数决定将读请求转发至哪一个节点。
当只读节点R2活跃连接数较高，处于高负载状态时，数据库代理会将大部分读请求转发至负载较低的只读节点R1和主节点，以降低R2节点的负载压力。
图2负载均衡示意图   
![](https://support.huaweicloud.com/usermanual-taurusdb/figure/zh-cn_image_0000002659803454.png)
#### 可用区就近负载
根据可用区匹配，代理节点将读请求优先分发到同一可用区的数据库节点。该模式下建议将数据库代理与TaurusDB节点设置在同一可用区，降低分发延迟。
如图所示，数据库代理包含位于不同可用区（AZ1和AZ2）的两个节点，写请求被路由到主节点，读请求则根据业务系统所在可用区，智能路由到最近的节点（M和R1位于AZ1，R2和R3位于AZ2），以减少网络延迟并提高性能。当数据库代理所有节点所在可用区与TaurusDB实例所有节点所在可用区完全不同时，会切换为负载均衡模式。
图3可用区就近负载示意图   
![](https://support.huaweicloud.com/usermanual-taurusdb/figure/zh-cn_image_0000002659643520.png "点击放大")
#### 使用须知
- 数据库代理内核版本大于等于2.22.07.000的代理实例支持负载均衡模式，如果不符合内核版本要求，请参考[升级TaurusDB代理内核版本](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_11_0044.html)升级至最新。
- 内核版本大于等于2.23.12.000的代理实例支持可用区就近负载均衡模式，如果不符合内核小版本要求，请参考[升级TaurusDB代理内核版本](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_11_0044.html)升级至最新。
内核版本的查询方法请参见[如何查看云数据库 TaurusDB实例的版本号](https://support.huaweicloud.com/taurusdb_faq/taurusdb_faq_0141.html)。
#### 操作步骤
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. 在"基本信息"页面，单击"路由模式"后的"设置"。
7. 在弹框中修改路由模式。 
   图4修改路由模式   
   ![](https://support.huaweicloud.com/usermanual-taurusdb/figure/zh-cn_image_0000002659256210.png "点击放大")
   
   表1参数说明 
   | **参数名称** | **说明**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   |:---|:---|
   | 路由模式     | - 权重负载：根据您设置的读权重比例分发读请求。  - 负载均衡：根据数据库节点的活跃连接数情况进行读请求分发，将读请求分发到活跃连接数较少的节点上。负载均衡模式不需要修改权重。  - 可用区就近负载： 根据可用区匹配，代理节点将读请求优先分发到同一可用区的数据库节点。    |
   | 新节点自动加入  | 开启后，新增的只读节点会自动添加到当前数据库代理实例中。 路由模式为权重负载时，需要为新节点设置读权重。读权重默认为100，读权重越高，处理的读请求越多。                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | 选择数据库节点  | 数据库代理的代理模式不同，分发读请求的目标节点不同。 - 只读模式：所有读请求按照路由模式转发到已选只读节点，不会转发到主节点。  - 读写模式：所有读请求按照路由模式转发到已选数据库节点。                                                                                                                                                  |
      
   
   
8. 单击"确定"，代理实例运行状态变为"设置代理实例路由模式中"，此过程大概需要几分钟。
9. 修改完成后，代理实例运行状态变为"正常"，您可查看到路由模式已更新。
 
#### 相关API
[设置读写分离路由模式](https://support.huaweicloud.com/api-taurusdb/ModifyGaussMySqlProxyRouteMode.html)
