连接到复制的mysql数据库的Java应用程序

时间:2012-07-27 15:59:55

标签: java mysql database-replication

我们有一个连接到mysql数据库的java应用程序。我们现在要通过添加另一个数据库实例将数据库更改为复制模式。我们的想法是提供数据库高可用性。应用程序应该能够切换到备用DB,以防它无法连接到主数据库。实现此目的的一种方法是维护两组连接,继续监视数据库,如果应用程序无法连接到主数据库,请切换到下一组连接并继续。

我的问题是有一种通过mysql连接器本身切换连接的透明方式吗?或者是否有任何实用程序应用程序可以放在我的应用程序和mysql连接器之间并完成这项工作?

为了澄清,我们计划进行主 - 主复制。写入和读取都经常发生。

1 个答案:

答案 0 :(得分:1)

是的,Connector / J(MySQL JDBC驱动程序)提供连接故障转移。

但是,设置并非易事。这应该可以帮到你。

http://dev.mysql.com/doc/refman/5.5/en/connector-j-usagenotes-j2ee-concepts-load-balancing-failover.html

@Mike Brant的观点很好。如果您的数据是写入不频繁/经常读取的,那么最好只让您的应用程序写入主DBMS,并从一个从属DBMS池中读取。编写应用程序的部分以及将读取数据的部分使用不同的连接是一种很好的编程习惯。您可以使用loadbalancing和failover设置只读连接,同时保持写连接指向主服务器。