HAProxy 健康检查

3 linux load-balancing haproxy

我有三个与同一主题相关的小问题:

  1. 使用 HAProxy,有没有办法根据不同服务器的当前负载进行负载平衡(即,将请求路由到负载最少的服务器)。
  2. 如果没有,为什么这种行为没有内置到 HAProxy 中?这样做是否有任何重大的性能影响?我想象而不是例如,leastconn我会寻找最低负载而不是寻找最少的连接(算法)。
  3. 如果这样做没有重大的性能影响,我的假设是否可以将此功能构建到自定义 HAProxy 发行版中而不影响性能?

Mik*_*ike 6

使用 haproxy 做到这一点的唯一方法是创建一个脚本来检查 haproxy 的健康检查。在脚本中,您正在检查负载平均值以及它是否是有效负载.. 返回 200 的响应代码。如果它太高,则返回 404 或 500 错误。你的haproxy支票看起来像

option httpchk HEAD /health_check.php HTTP/1.0
Run Code Online (Sandbox Code Playgroud)

如果 haproxy 看到任何 2xx/3xx 响应,它将是有效的.. 其他任何事情都会使该节点脱机,直到该节点的负载下降并且 health_check.php 脚本返回 200