Как настроить обратный прокси / loadbalancer для пользовательской маршрутизации - PullRequest
1 голос
/ 13 октября 2010

Предположим, у меня есть 3 веб-сервера за обратным прокси / loadbalancer. В настоящее время я использую Apache 2, но не против переключения.

Эти веб-серверы не равны. Они имеют разные наборы локальных данных, что означает, что различные типы запросов будут обрабатываться более эффективно на конкретном веб-сервере.

Я хочу подключить некоторую настраиваемую логику маршрутизации в моем loadbalancer, которая будет в начале нового сеанса выбирать для него веб-сервер, а затем привязывать этот сеанс к этому узлу, пока он не выйдет из строя (липкий сеанс).

Например: новый пользователь приходит в веб-приложение, балансировщик нагрузки каким-то образом запускает мой пользовательский код, этот код находит информацию об этом пользователе и делает вывод, что этот пользователь должен обрабатываться на узле 1. Балансировщик передает этого пользователя на узел 1 и привязывает его к нему. Когда приходит другой пользователь, пользовательская логика маршрутизации предлагает узел 3, к которому loadbalancer затем проксирует этого пользователя.

Можно ли сделать с Apache 2? Если нет, то какой прокси / loadbalancer даст мне эту способность?

Спасибо.

1 Ответ

0 голосов
/ 13 октября 2010

Apache mode_proxy_balancer имеет липкость , если вы хотите остаться на Apache.

В противном случае взгляните на Haproxy . Первая строка аннотации гласит: «Направлять HTTP-запросы в зависимости от статически назначенных файлов cookie»; Вам просто нужно установить cookie, чтобы знать, к какому бэкэнду вы хотите привязать пользователя.

...