【发布时间】:2017-06-12 15:14:03
【问题描述】:
我有一台运行 HAProxy 的服务器来平衡我们的 mysql 服务器。当我们在很长一段时间内平均负载较低时,某些服务器可能会关闭,但是将来,如果负载再次变高,这些服务器会自动启动。问题是当一个实例宕机时,HAProxy 再也不会查看它,所以当实例再次启动时,它会被忽略。为了解决这个问题,我们会在需要时重新启动。
这是我们的配置文件:
global
log 127.0.0.1 local0 notice
user haproxy
group haproxy
defaults
log global
retries 2
timeout connect 3000
timeout server 5000
timeout client 5000
listen mysql-cluster
bind 0.0.0.0:3306
mode tcp
option mysql-check user haproxy_check
balance leastconn
server mysql-1 ********:3306 check
server mysql-2 ********:3306 check
也许如果我将 retries 从 2 更改为一个大数字,它可以解决我们的问题吗?
编辑 根据要求,这是我的 HAProxy 版本:
$ haproxy -v
HA-Proxy version 1.4.24 2013/06/17
Copyright 2000-2013 Willy Tarreau <w@1wt.eu>
谢谢
【问题讨论】:
-
更改
retries不会改变任何东西。该参数指的是在 HAProxy 认为健康的后端建立后端连接尝试失败时重试,即使它不是,这种情况很少见。你说没有尝试,所以这不适用。当你说你必须重启时……你必须重启什么?另外,********:3306是 IP 地址还是主机名? -
我需要重新启动 HAProxy,因此它会再次加载配置文件并尝试建立与两台服务器的连接。
********:3306是主机名。 -
我想我知道问题是什么。请提及您的 HAProxy 版本。 (
haproxy -v) -
我编辑了我的答案。