VirtualHost별 mod_cluster 연동 방법
Apache WEB 서버 한대에서 VirtualHost로 다수의 서비스를 제공하며
mod_cluster 로 연동된 다수의 JBoss EAP 인스턴스에 각각 따로 서비스를 제공하는 방식으로 구성한다.
apache virtual host configuration
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot var/www
ServerName service.net
ServerAlias www.service.net service.net
ErrorLog logs/service.net-error_log
CustomLog logs/service.net-access_log common
ProxyPassMatch ^(/resources/.*)$ !
ProxyPassMatch ^(/survey/.*)$ !
ProxyPassMatch ^(/publishing/.*)$ !
# balancer1 밸런서로 요청 처리
ProxyPass / balancer://balancer1/
ProxyPassReverse / balancer://balancer1/
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot var/www
ServerName test.service.net
ErrorLog logs/test.service.net-error_log
CustomLog logs/test.service.net-access_log common
# test2 서비스의 경우 balancer2 로 연동
ProxyPass / balancer://balancer2/
ProxyPassReverse / balancer://balancer2/
</VirtualHost>
JBoss EAP 설정
아래 코드와 같이 balancer=“balancer2” 키워드를 추가해준다. 해당 밸런서명을 가지는 EAP쪽으로 요청을 받기 위함이다.
<subsystem xmlns="urn:jboss:domain:modcluster:1.2">
<mod-cluster-config advertise-socket="modcluster" proxy-list="192.168.0.71:6666" balancer="balancer2" connector="ajp">
<dynamic-load-provider>
<load-metric type="busyness"/>
</dynamic-load-provider>
</mod-cluster-config>
</subsystem>