목차

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>