负载均衡器的正确MariaDB Galera jdbc URL属性是什么

时间:2013-10-28 08:02:48

标签: jdbc mariadb galera

我已经在两个私有IP 192.168.2.51和192.168.2.52上运行了2个MariaDB 10.0 Galera集群节点。我将尝试使用MariaDB网站提供的MariaDB的JDBC Client(org.mariadb.jdbc.Driver)尝试连接到集群。

它适用于常规网址:“jdbc:mariadb://192.168.2.51:3306,192.168.2.52:3306 / dbname”。

但我想要实现的是MySQL JDBC驱动程序的可能性,其URL类似于:“jdbc:mysql://192.168.2.51,192.168.2.52/dbname?autoReconnect = true& autoReconnectForPools = true& failoverReadonly =假安培; roundRobinLoadBalance =真“

我比较了MariaDB(https://mariadb.com/kb/en/about-the-mariadb-java-client/)和MySQL(http://dev.mysql.com/doc/refman/5.5/en/connector-j-reference-configuration-properties.html)中声明的属性。对于MariaDB JDBC Client,它似乎没有处理loadbalance或autoReconnect的属性。

所以我的问题是: 是否有正确的建议方式通过MariaDB JDBC驱动程序(具有负载均衡和故障转移功能)连接到MariaDB Galera,或者我应该回退到MySQL的ConnectorJ以及ConnectorJ与MariaDB Galera集群的兼容性如何?

谢谢。

2 个答案:

答案 0 :(得分:2)

MariaDB JDBC中没有负载均衡或故障转移功能。即使您使用的多端点功能也没有记录,并且是实验性的。 ConnectorJ负载均衡应该可以正常工作,因为对它来说,MariaDB Galera只是常规MySQL的实例。

答案 1 :(得分:1)

您只需使用failover。 据我观察,mariadb连接器中的jdbc:mariadb:failover等于mysql连接器中的jdbc:mysql:loadbalance; 和mariadb中的jdbc:mariadb:sequential等于mysql中的jdbc:mysql:failover

这有点令人困惑。

在Mariadb中,即使是“故障转移”一词,读/写负载实际上也分布在所有节点上。我更喜欢使用顺序的连接,以便始终将连接连接到一个节点,这在某些情况下更可靠,例如使用galera多主群集。

https://mariadb.com/kb/en/library/about-mariadb-connector-j/