У меня есть приложение, в котором URL-адрес запроса определяет, на какой сервер перенаправить запрос на основе кэша памяти или поиска в базе данных. В настоящее время это просто циклический перебор, но состояние хранится только на одном сервере, и этот сервер должен получать все запросы с определенным полем. Итак, я хочу добиться чего-то вроде следующей таблицы:
Server A
Server B
Возможно ли это с HAProxy? Если нет, что еще я могу использовать? я действительно не хочу дублировать запрос от Server A
к Server B
если Server A
получил запрос, но Server B
несет ответственность за это.
Другое решение, которое может сработать для меня, - это если приложение может вернуть что-то, что сообщает HAProxy, на какой хост повторно отправить запрос.
Это идет в интерфейсе
acl use_backend1 path_reg ^/Objects/ABC/$
acl use_backend2 path_reg ^/Objects/DEF/$
use_backend backend1 if backend1
use_backend backend2 if backend2
default_backend normal_backend
backend backend1
....
backend backend2
....
backend normal_backend
....
Что-то в этом роде