HAProxy 健康检查

HAProxy 健康检查

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

  1. 使用 HAProxy,有没有办法根据电流负载不同的服务器(例如,将请求路由到负载最小的服务器)。
  2. 如果不是,为什么 HAProxy 没有内置这种行为?有没有主要的这样做对性能有什么影响?我设想,例如,leastconn我不会寻找最少的连接(算法),而是寻找最低的负载。
  3. 如果这样做不会对性能产生重大影响,那么我是否可以将此功能构建到自定义 HAProxy 分发中而不会影响性能的假设是否正确?

答案1

使用 haproxy 执行此操作的唯一方法是创建一个脚本,检查 haproxy 的健康情况。在脚本中,您将检查平均负载,如果负载有效,则返回响应代码 200。如果负载过高,则返回 404 或 500 错误。您的 haproxy 检查将类似于

option httpchk HEAD /health_check.php HTTP/1.0

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

相关内容