在JDBC连接字符串中选择负载均衡策略

时间:2015-08-31 06:53:28

标签: java mysql jdbc load-balancing

目前我的连接字符串如下所示

jdbc:mysql:loadbalance://server1:3306,server2:3306/sample_db?rewriteBatchedStatements=true

其中server1,server2是MASTER-MASTER复制的MySQL服务器的ips。

据我所知,负载均衡将默认完成" roundrobin"战略。

问题是

在连接之前是否有任何策略检查服务器的运行状况? 如何改变策略和可用的策略?

我google了很多,我发现的只有:

jdbc:mysql:loadbalance://host-1,host-2,...host-n/database?loadBalanceBlacklistTimeout=5000
     

" loadBalanceBlacklistTimeout"添加失败所需的功能   连接池中的连接被搁置指定的时间,   并且只使用工作连接。

1 个答案:

答案 0 :(得分:1)

有两种常见的负载均衡策略。其中一个随机(roundrobin)默认出现。第二个是best response time,如下所示:

jdbc:mysql:loadbalance://ip1:3306,ip2:3306/messenger?rewriteBatchedStatements=true&loadBalanceBlacklistTimeout=10000&loadBalanceStrategy=bestResponseTime