Version 1

    Quando ouvimos falar de Mod Cluster ou Mod JK normalmente a primeira coisa que vem a cabeça é balanceamento de carga. Segundo a Wikipédia balanceamento de carga é uma técnica para distribuir a carga de trabalho uniformemente entre dois ou mais computadores. Claro que existem outros conceitos envolvidos mas basicamente é isso.

     

    Mod JK: É o componente de balanceamento de carga muito utilizado atualmente, não só para instâncias JBoss, mas para outros servidores web e de aplicação. O mod jk realiza a integração entre o Apache Web Server e o Tomcat/JBoss, utilizando o protocolo AJP. Um dos grandes problemas do mod-jk são os arquivos de configuração que dificultam a manutenção em um grande parque de servidores, pois esses mesmos arquivos de configuração devem ser replicados. Outra grande desvantagem de utilizar o Mod JK é a forma em que o balanceamento é feito pois se baseia em um fator fixo definido pelo atributo lbfactor.

     

    Exemplo de Balanceamento:

     

    worker.node1.lbfactor=50
    worker.node2.lbfactor=100
    

     

    Documentação do Projeto: http://tomcat.apache.org/connectors-doc/reference/workers.html

     

    Mod Cluster: É um componente criado pela Red Hat para atender a mecanismos de balançeamento de carga alinhados ao conceito de Cloud. O Mod Cluster vem com algoritmos de balanceamento de carga mais avançados, que se baseiam na carga da aplicação, ou seja quantidades de sessões, conexôes abertas conseguindo assim um balanceamento inteligente. Ele pode ser customizado conforme a necessidade da aplicação visando um ambiente elástico. Um das vantagens é também o descobrimento automático de novas instâncias JBoss ( Utilizando Multicast ), não havendo a necessidade de configurações extras. Lembrando que o Mod Cluster está presente nativamente no JBoss AS 7.

     

    Exemplo de Balanceamento:

     

    <subsystem xmlns="urn:jboss:domain:modcluster:1.1">
              <mod-cluster-config advertise-socket="modcluster" connector="ajp">
                   <dynamic-load-provider history="10" decay="2">
                         <load-metric type="cpu" weight="2" capacity="1"/>
                         <load-metric type="sessions" weight="1" capacity="512"/>
                   </dynamic-load-provider>
                </mod-cluster-config>
    </subsystem>
    

     

     

    Documentação do Projeto: http://www.jboss.org/mod_cluster

     

    Em minha opinião a melhor alternativa para o JBoss AS 7 é o Mod Cluster.

     

    O que eu disse acima é baseado somente na minha experiência. Talvez eu desconheça outras vantagens da utilização do Mod JK.