我对 HAProxy 还很陌生。我花了几个小时试图弄清楚如何操作,但没有得到任何线索。我的需求是这样的:
如果请求的终点是/special,那么我需要检查URL_PARAM。
例如:localhost/special?id=10 根据 ID,我需要将其路由到 3 个服务器中的其中一个。如果 id <=3 则路由到 server1,如果 id > 3 且 id <=6 则路由到 server2,否则路由到 server3。
如果端点不是/特殊,则在所有 3 个服务器之间进行循环。
我如何实现这两级平衡?
答案1
您可以使用acl location_special path /special
匹配 url 和acl srv_1 urlp_val(id) -m int eq 0:3
匹配id=
参数。最后
use-server server1 if location_special srv_1
将请求映射到特定服务器