【问题标题】:Choosing load balancing strategy in JDBC connection string在 JDBC 连接字符串中选择负载均衡策略
【发布时间】:2015-08-31 06:53:27
【问题描述】:

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

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”添加了失败的所需功能 连接池中的连接被搁置指定的时间, 并且只使用工作连接。

【问题讨论】:

    标签: java mysql jdbc load-balancing


    【解决方案1】:

    有两种常见的负载平衡策略。其中一个是随机的(循环),默认情况下。其次是best response time,如下所示:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-07
      • 2018-06-09
      • 2012-01-24
      • 2011-11-17
      相关资源
      最近更新 更多