如何让 HAproxy 返回下一个数据库服务器的 IP 地址?

如何让 HAproxy 返回下一个数据库服务器的 IP 地址?

我想使用 HAproxy 检查我的数据库服务器是否在线,而实际上不通过 HAproxy 框路由请求。有什么方法可以连接到 HAproxy 并让它返回数据库主机 IP 地址吗?

例如:我从 web 服务器 #1 连接到端口 3306 上的 HAproxy。HAproxy 在 3306 上监听并从数据库主机列表(循环)中回显数据库主机 #1。然后我从 web 服务器 #1 直接连接到数据库主机 #1。

答案1

不是使用 vanilla haproxy,但我遇到了同样的问题,并修补了 haproxy 以添加此功能。它可能在某个时候包含在 haproxy 本身中(作者对此持肯定态度,但要求进行一些更改,我还没有来得及)。

如果你感兴趣,我会分享这个补丁。但请问问自己是否真的需要它。为什么“正常”负载平衡不够好,也许直接使用服务器返回可以让返回流量绕过负载平衡器。运行稳定、受支持的产品可能比拥有精确的您想要的功能(据我所知,这种功能在任何开源负载均衡器中都不存在,在我所查看的闭源负载均衡器中也不存在)。

相关内容