【问题标题】:Mysql-Proxy Doesn't Failover (?)Mysql-Proxy 不进行故障转移 (?)
【发布时间】:2011-11-15 12:59:36
【问题描述】:

这是我第一次使用 mysql-proxy,我遇到了奇怪的行为,我想知道社区之前是否已经解决了这个问题。

我在连接到 2 个 mysql 服务器的 amazon linux(在 ec2 中)上运行 mysql-proxy (0.8.2)。我的 java 客户端可以连接到代理并且负载平衡工作正常。

我的问题是:我有一个客户端(通过代理)连接到服务器 A。在我测试故障转移之前它工作得很好。当我关闭服务器 A 并且客户端尝试执行简单的插入命令(在已建立的连接上)时,我期望代理将请求重定向到服务器 B。但是我得到了这个异常:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: 通讯链路故障。

本例中的客户端是一个使用mysql-connector-java-5.1.17-bin.jar的Java程序

任何想法如何解决这个问题或者我在这里遗漏了什么?

【问题讨论】:

    标签: java mysql failover mysql-proxy


    【解决方案1】:

    这里是关于这个问题的更新,以防其他人有同样的问题。

    当客户端连接到它时,mysql-proxy 似乎会检查后端服务器上的状态。它不会对 DB 执行任何 keepalive\heartbeat。我曾尝试使用 lua 脚本强制执行此类行为,但惨遭失败。

    一个潜在的替代方案可能是使用 HAProxy 并包含 xinted mysqlchecks。我没有亲自尝试过。我们最终可能会构建一个代理连接客户端,它将包装 java.sql.Connection 并与 mysql-proxy 进行适当的交互。

    如果您找到其他方法来实现上述目标,请告诉我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-24
      • 2023-03-14
      相关资源
      最近更新 更多