MySQL JDBC连接上的故障转移?
Posted
技术标签:
【中文标题】MySQL JDBC连接上的故障转移?【英文标题】:Failover on MySQL JDBC connections? 【发布时间】:2011-07-15 18:02:18 【问题描述】:我正在尝试确定如何使用 mysql JDBC 驱动程序实现高可用性解决方案,我似乎可以设置一个故障转移属性。但是我想知道人们在使用 MySQL 和 JDBC 实现简单的故障转移机制时倾向于使用什么?
我们计划将 2 台前端 Tomcat 服务器连接到 2 台 MySQL 服务器。
【问题讨论】:
【参考方案1】:尽管您询问的是 JDBC,但我希望这可以帮助您了解所有可用的选项...
我通常使用可以优雅地进行故障转移的负载平衡配置来处理故障转移,而不是在 JDBC 层。
MySQL Proxy 是实现这一目标的一种方法:
http://www.cyberciti.biz/tips/mysql-proxy-howto.html
【讨论】:
基础架构人员告诉我,这涉及另一台服务器,因此另一层可能会失败..您认为这是正确的吗?我也想实现代理,但需要一些弹药来向基础设施人员解释这是最好的选择。 我需要单独的服务器来运行代理吗? @Marco - 实际上,如果您不运行单独的服务器,则可以保证单点故障。该服务器出现故障,您的解决方案出现故障。链接中的 cmets 显示了如何设置两个相互镜像的物理服务器(设置高可用性的可能方法之一)。 @Eric 很抱歉有点不清楚,但我们的想法是我们有 2 个 sql 服务器和 2 个 tomcat 服务器。我的评论是,如果我安装代理,我是否需要在 tomcat 和 sql 服务器之间增加一层服务器,这仅用于使用代理。 @Marco:从技术上讲,您可以运行负载均衡器两次,在每个 Tomcat 机器上运行一次。您冒着每个平衡器对哪个 SQL 服务器实际处于活动状态的不同确定的风险(例如,如果存在网络故障并且它们都在一段时间内不可用)。我更喜欢两个平衡器,一个用于另一个故障转移,作为单独的盒子。它们可以是虚拟服务器,与您的主服务器相比,它们可以非常小。以上是关于MySQL JDBC连接上的故障转移?的主要内容,如果未能解决你的问题,请参考以下文章
配置 GlassFish JDBC 连接池以处理 Amazon RDS 多可用区故障转移