Я новичок в HAProxy. Я потратил несколько часов, пытаясь понять, как это сделать, но не смог найти потенциальных клиентов. Мое требование таково:
Если конечная точка запроса / особая, мне нужно проверить URL_PARAM.
Например: localhost / special? Id = 10 На основе идентификатора мне нужно направить его на один из 3 серверов. Если id <= 3 server1, если id> 3 и id <= 6 server2 else server3.
Если конечная точка не является / специальной циклической переборкой между всеми 3 серверами.
Как мне достичь этой двухуровневой балансировки?
Вы могли бы использовать 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
для сопоставления запроса с определенным сервером