У меня есть ферма Jboss с балансировкой нагрузки Apache HTTP + mod_proxy_balancer и mod_proxy_ajp со следующей конфигурацией:
<VirtualHost *:80>
ServerName web-gui-acceptance.myorg.com
ServerAlias web-gui-acceptance
ProxyRequests Off
ProxyPass /web-gui balancer://jbosscluster/web-gui stickysession=JSESSIONID nofailover=On
ProxyPassReverse /web-gui http://srvlnx01.myorg.com:8080/web-gui
ProxyPassReverse /web-gui http://srvlnx02.myorg.com:8080/web-gui
<Proxy *>
AuthType Kerberos
[...]
</Proxy>
<Proxy balancer://jbosscluster>
BalancerMember ajp://srvlnx01.myorg.com:8009 route=SRVLNX01_node1
BalancerMember ajp://srvlnx01.myorg.com:8009 route=SRVLNX02_node1
ProxySet lbmethod=byrequests
</Proxy>
</VirtualHost>
Когда первый узел JBoss выходит из строя (виртуальная машина хоста не работает), мои существующие соединения не выходят из строя через второй узел ... первый маршрут сохраняется (в таблице / .shm?), И это дает мне 503 ошибки.
Может кто подскажет, что я пропустил?
Возможно, я нашел обходной путь, который также касается развертывания / развертывания: http://www.jboss.org/mod_cluster
mod_cluster имеет следующие преимущества перед другими балансировщиками нагрузки на основе httpd:
Динамическая конфигурация httpd worker
Традиционные балансировщики нагрузки на основе httpd требуют явной настройки рабочих, доступных прокси. В mod_cluster основная часть конфигурации прокси находится на серверах приложений. Набор прокси, с которыми будет взаимодействовать сервер приложений, определяется либо статическим списком, либо с использованием динамического обнаружения через механизм рекламы. Сервер приложений передает события жизненного цикла (например, запуск / завершение работы сервера) прокси, позволяя им эффективно автоматически настраиваться. Примечательно, что постепенное завершение работы сервера не приведет к отказу прокси-сервера, как в случае с традиционными балансировщиками нагрузки на основе httpd.
Расчет коэффициента балансировки нагрузки на стороне сервера
В отличие от традиционных балансировщиков нагрузки на основе httpd, mod_cluster использует коэффициенты балансировки нагрузки, рассчитываемые и предоставляемые серверами приложений, а не вычисляющие их на прокси. Следовательно, mod_cluster предлагает более надежный и точный набор показателей нагрузки, чем доступен через прокси. (подробнее см. «Показатели загрузки»)
Детальный контроль жизненного цикла веб-приложений
Традиционные балансировщики нагрузки на основе httpd не очень хорошо справляются с невыполнением развертывания веб-приложений. С точки зрения прокси, запросы к неразвернутому веб-приложению неотличимы от запроса несуществующего ресурса и приводят к ошибке 404. В mod_cluster каждый сервер перенаправляет любые события жизненного цикла контекста веб-приложения (например, развертывание / удаление веб-приложения) на прокси-сервер, информируя его о запуске / остановке запросов маршрутизации для данного контекста на этот сервер.
AJP не является обязательным
В отличие от mod_jk, mod_cluster не требует AJP. Соединения httpd с узлами сервера приложений могут использовать HTTP, HTTPS или AJP. Исходные концепции описаны в вики.
Надеюсь, это поможет.