负载均衡算法 #
DBPlusEngine 提供了多种负载均衡算法,用于对数据源进行负载均衡。目前,读写分离、异构双写以及 JDBC 双路由等功能都可以使用负载均衡算法对业务流量进行分发。
轮询算法 #
类型:ROUND_ROBIN(默认算法)
可配置属性:无
随机访问算法 #
类型:RANDOM
可配置属性:
无
权重访问算法 #
类型:WEIGHT
可配置属性:
使用中的数据库(JDBC 双路由为 Proxy 实例)都必须配置权重
属性名称 | 数据类型 | 说明 |
---|---|---|
${ds-name} | double | 属性名使用数据库逻辑名称(JDBC 双路由为 Proxy 实例 ID),参数填写对应的权重值。权重参数范围最小值 > 0,合计 <= Double.MAX_VALUE。 |
操作步骤 #
- 使用读写分离、异构双写或者 JDBC 双路由时,在 loadBalancers 属性下配置对应的负载均衡算法即可;
配置示例 #
- 读写分离配置示例:
copyrules:
- !READWRITE_SPLITTING
dataSources:
readwrite_ds:
staticStrategy:
writeDataSourceName: write_ds
readDataSourceNames:
- read_ds_0
- read_ds_1
loadBalancerName: random
loadBalancers:
random:
type: RANDOM
- 异构双写配置示例:
copyrules:
- !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