我已经设置了两个在两个私有IP 192.168.2.51和192.168.2.52上运行的MariaDB 10.0 Galera集群节点 . 我将尝试使用MariaDB网站提供的MariaDB的JDBC Client(org.mariadb.jdbc.Driver)尝试连接到集群 .
它使用常规URL,如:“jdbc:mariadb://192.168.2.51:3306,192.168.2.52:3306 / dbname” .
但是,我想实现的是与MySQL JDBC驱动程序的可能性,与像网址:为“jdbc:mysql的://192.168.2.51,192.168.2.52/dbname autoReconnect的=真autoReconnectForPools =真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 回答
MariaDB JDBC中没有负载均衡或故障转移功能 . 即使您使用的多 endpoints 功能也没有记录,并且是实验性的 . ConnectorJ负载均衡应该可以正常工作,因为对它来说,MariaDB Galera只是常规MySQL的实例 .
您只需使用
failover
从我观察到的,jdbc:mariadb:failover
在mariadb连接器中等于jdbc:mysql:loadbalance
在mysql连接器中https://mariadb.com/kb/en/library/about-mariadb-connector-j/