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