这是情况:
我有多台 Web 服务器,比如10台。我需要使用一个(软件)负载均衡器,可以使用反向代理服务器来实现,例如 HAProxy 或 Varnish。现在,我们提供的所有流量都是通过 https 而不是 http,所以 Varnish 是不考虑的。
现在,我想将用户请求分成几个类别,这取决于请求的一个输入(POST)参数。根据该参数,我需要将请求分配给服务器,因为基于该参数(即使所有其他输入(POST)参数相同),不同的服务器会提供不同的服务。
因此,我需要定义一个自定义的负载平衡算法,以便对于特定值的该参数,我将负载分配到特定的3个服务器(例如),对于其他值,将请求分配到2个特定服务器,而对于其他值,则分配到剩余的5个服务器。
由于我不能使用 Varnish,因为它无法用于终止 SSL(如果使用 VCL 简单定义自定义算法),因此我考虑使用 HA-Proxy。
所以,问题来了:
有人能帮我用 HA-Proxy 定义自定义负载平衡函数吗?
我已经做了很多研究,但找不到任何可以帮助我们完成这项工作的文档。所以,如果 HA-Proxy 不行,您能否推荐我一些其他反向代理服务,既可以用作负载均衡器,又符合上述两个条件?(SSL 终止和定义自定义负载平衡)。
编辑:
这个问题是在我的另一个问题之后的。 Varnish to be used for https
req.body_param
+ ACL来定义后端路由 - https://cbonte.github.io/haproxy-dconv/configuration-1.6.html#7.3.6-req.body_param - Tan Hong Tat