Logo
负载均衡算法

负载均衡算法 #

DBPlusEngine 提供了多种负载均衡算法,用于对数据源进行负载均衡。目前,读写分离、异构双写以及 JDBC 双路由等功能都可以使用负载均衡算法对业务流量进行分发。

轮询算法 #

类型:ROUND_ROBIN(默认算法)

可配置属性:无

随机访问算法 #

类型:RANDOM

可配置属性:

权重访问算法 #

类型:WEIGHT

可配置属性:

使用中的数据库(JDBC 双路由为 Proxy 实例)都必须配置权重

属性名称数据类型说明
${ds-name}double属性名使用数据库逻辑名称(JDBC 双路由为 Proxy 实例 ID),参数填写对应的权重值。权重参数范围最小值 > 0,合计 <= Double.MAX_VALUE。

操作步骤 #

  1. 使用读写分离、异构双写或者 JDBC 双路由时,在 loadBalancers 属性下配置对应的负载均衡算法即可;

配置示例 #

  • 读写分离配置示例:
rules:
- !READWRITE_SPLITTING
  dataSources:
    readwrite_ds:
      staticStrategy:
        writeDataSourceName: write_ds
        readDataSourceNames:
          - read_ds_0
          - read_ds_1
      loadBalancerName: random
  loadBalancers:
    random:
      type: RANDOM
  • 异构双写配置示例:
rules:
- !DUAL_WRITE
dataSources:
  dual_write_ds:
    primaryDataSourceName: oracle_ds
    writeDataSourceNames:
      - oracle_ds
      - mysql_ds
    readDataSourceNames:
      - oracle_ds
      - mysql_ds
    loadBalancerName: random
loadBalancers:
  random:
    type: RANDOM