Назад | Перейти на главную страницу

Как работает Apache mod_proxy_ajp, когда Jboss работает как кластер с AJP на 2 разных портах?

Я пытаюсь настроить веб-сервер Apache для балансировки нагрузки на кластер JBoss, но, к сожалению, я не понимаю, как mod_proxy_ajp работает через сценарий с балансировкой нагрузки, поскольку каждый из двух экземпляров JBoss запускает AJP на другом порту. Поскольку я указываю свое правило ProxyPass, используя только один из портов, в конечном итоге происходит то, что весь трафик проходит только через один из экземпляров (который я указал с помощью правила ProxyPass).

<Location /jconsole>  
    # somehow I need this to also load balance to port AJP localhost:8209
    ProxyPass ajp://localhost:8109/jconsole
    ProxyPassReverse ajp://localhost:8109/jconsole
</Location>

Любая помощь, которую я мог бы получить, была бы замечательной.

В этом случае вам необходимо настроить балансировщик.

<Proxy balancer://mycluster>
  BalancerMember ajp://localhost:8109/jconsole
  BalancerMember ajp://localhost:8110/jconsole
</Proxy> 

<Location /jconsole>  
  ProxyPass balancer://mycluster/ stickysession=JSESSIONID|jsessionid nofailover=On
</Location>

Дополнительные параметры можно найти в документации apache по адресу http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypass.