Apache WEB 서버 한대에서 VirtualHost로 다수의 서비스를 제공하며
mod_cluster 로 연동된 다수의 JBoss EAP 인스턴스에 각각 따로 서비스를 제공하는 방식으로 구성한다.
<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>
아래 코드와 같이 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>