3.2.8. Alterações no Clustering
3.2.8.1. Realização de Alterações ao seu Aplicativo para Clustering
Inicie o JBoss EAP 6 com o clustering habilitado
Para habilitar o clustering no JBoss EAP 5.x, era preciso iniciar as instâncias do seu servidor usando o perfilallou alguma derivação disto, como por exemplo:$ EAP5_HOME/bin/run.sh -c allNo JBoss EAP 6, o método para a habilitação do clustering depende se os servidores estão executando em um domínio gerenciado ou se são autônomos.Habilitação do clustering para os servidores executando em um domínio gerenciado
Para habilitar o clustering para os servidores iniciados usando o controlador de domínio, atualize o seudomain.xmle designe um grupo de servidor para usar o perfilhae o grupo de associação de soqueteha-sockets. Por exemplo:<server-groups> <server-group name="main-server-group" profile="ha"> <jvm name="default"> <heap size="64m" max-size="512m"/> </jvm> <socket-binding-group ref="ha-sockets"/> </server-group> </server-group>Habilitação do cluster para servidores autônomos
Para habilitar o clustering para os servidores autônomos, inicie o servidor usando o arquivo de configuração apropriado como a seguir:$ EAP_HOME/bin/standalone.sh --server-config=standalone-ha.xml -Djboss.node.name=UNIQUE_NODE_NAME
Especifique o endereço vinculado
No JBoss EAP 5.x, você normalmente indicaria o endereço vinculado usado para clustering utilizando o argumento da linha de comando-b, conforme abaixo:$ EAP5_HOME/bin/run.sh -c all -b 192.168.0.2O JBoss EAP 6 associa os soquetes às interfaces e aos endereços IP contidos nos elementos<interfaces>nos arquivosstandalone.xml,domain.xmlehost.xml. As configurações padrão que são enviadas junto com o JBoss EAP incluem duas configurações de interface:<interfaces> <interface name="management"> <inet-address value="${jboss.bind.address.management:127.0.0.1}"/> </interface> <interface name="public"> <inet-address value="${jboss.bind.address:127.0.0.1}"/> </interface> </interfaces>Essas configurações de interface usam os valores das propriedades do sistemajboss.bind.address.managementejboss.bind.address. Caso essas propriedades do sistema não sejam determinadas, o padrão127.0.0.1é usado para cada valor.O endereço vinculado também pode ser especificado como um argumento da linha de comando quando você inicia o servidor ou pode ser explicitamente definido dentro do arquivo de configuração do servidor JBoss EAP 6.- Especifique o argumento vinculado na linha de comando quando iniciar o servidor autônomo do JBoss EAP.Segue abaixo um exemplo de como especificar o endereço vinculado na linha de comando para um servidor autônomo:
EAP_HOME/bin/standalone.sh -Djboss.bind.address=127.0.0.1Nota
É possível usar o argumento-b, que é um atalho para-Djboss.bind.address=127.0.0.1:EAP_HOME/bin/standalone.sh -b=127.0.0.1O formato da sintaxe do JBoss EAP 5 ainda possui suporte também:
Observe que o argumentoEAP_HOME/bin/standalone.sh -b 127.0.0.1-bapenas altera a interfacepublic. Isto não afeta a interfacemanagement. - Especifique o endereço vinculado no arquivo de configuração do servidor.Para os servidores executando em um domínio gerenciado, especifique os endereços vinculados no arquivo
domain/configuration/host.xml. Para os servidores autônomos, especifique os endereços vinculados no arquivostandalone-ha.xml.No exemplo a seguir, a interfacepublicé especificada como a interface padrão para todos os soquetes dentro do grupo de associação de soqueteha-sockets.<interfaces> <interface name="management"> <inet-address value="192.168.0.2"/> </interface> <interface name="public"> <inet-address value="192.168.0.2"/> </interface> </interfaces><socket-binding-groups> <socket-binding-group name="ha-sockets" default-interface="public"> <!-- ... --> </socket-binding-group> </socket-binding-groups>Nota
Caso o endereço vinculado seja especificado como um valor codificado, ao invés de uma propriedade do sistema no arquivo de configuração, não será possível substituí-lo por um argumento da linha de comando.
Configure
jvmRoutepara suportar mod_jk e mod_proxyNo JBoss EAP 5, o servidor webjvmRoutefoi configurado usando uma propriedade no arquivoserver.xml. No JBoss EAP 6, o atributojvmRouteé configurado no subsistema da web do arquivo de combinação do servidor usando o atributoinstance-id, conforme o seguinte:<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="false" instance-id="{JVM_ROUTE_SERVER}">O {JVM_ROUTE_SERVER} acima deve ser substituído pela ID do servidor jvmRoute.Oinstance-idpode ser determinado usando o Console de Gerenciamento.Especifique a porta e o endereço multicast
No JBoss EAP 5.x, você poderia especificar a porta e o endereço multicast usados para a comunicação intra-cluster utilizando os argumentos da linha de comando-ue-m, como a seguir:$ EAP5_HOME/bin/run.sh -c all -u 228.11.11.11 -m 45688No JBoss EAP 6, a porta e o endereço multicast usados para a comunicação intra-cluster são definidos pela associação de soquete referenciada pela pilha do protocolo JGroups relevante, como a seguir:<subsystem xmlns="urn:jboss:domain:jgroups:1.0" default-stack="udp"> <stack name="udp"> <transport type="UDP" socket-binding="jgroups-udp"/> <!-- ... --> </stack> </subsystem><socket-binding-groups> <socket-binding-group name="ha-sockets" default-interface="public"> <!-- ... --> <socket-binding name="jgroups-udp" port="55200" multicast-address="228.11.11.11" multicast-port="45688"/> <!-- ... --> </socket-binding-group> </socket-binding-groups>Se você preferir especificar a porta e o endereço multicast na linha de comando, você pode definir as portas e o endereço multicast como propriedades de sistema e, então, usar essas propriedades na linha de comando, quando você iniciar o servidor. No exemplo a seguir,jboss.mcast.addré o nome da variável para o endereço multicast ejboss.mcast.porté o nome da variável para a porta.<socket-binding name="jgroups-udp" port="55200" multicast-address="${jboss.mcast.addr:230.0.0.4}" multicast-port="${jboss.mcast.port:45688}"/>Você pode, então, iniciar o seu servidor usando os seguintes argumentos da linha de comando:$ EAP_HOME/bin/domain.sh -Djboss.mcast.addr=228.11.11.11 -Djboss.mcast.port=45688Utilize uma pilha de protocolo alternativa
No JBoss EAP 5.x, você poderia manipular a pilha do protocolo padrão usada para todos os serviços de clustering utilizando a propriedade do sistemajboss.default.jgroups.stack.$ EAP5_HOME/bin/run.sh -c all -Djboss.default.jgroups.stack=tcpNo JBoss EAP 6, a pilha do protocolo padrão é definida pelo subsistema JGroups dentro dodomain.xmloustandalone-ha.xml:<subsystem xmlns="urn:jboss:domain:jgroups:1.0" default-stack="udp"> <stack name="udp"> <!-- ... --> </stack> </subsystem>Substitue a Replicação Buddy
O JBoss EAP 5.x usava a JBoss Cache Buddy Replication para suprimir a replicação de dados em todas as instâncias em um cluster.No JBoss EAP 6, a Replicação Buddy foi substituída pelo cache distribuído do Infinispan, também conhecido como modoDIST. A distribuição é um modo de clustering poderoso que permite o Infinispan escalar linearmente à medida que mais servidores são adicionados ao cluster. Segue abaixo um exemplo de como configurar o servidor para usar o modo de cache DIST.- Abra uma linha de comando e inicie o servidor com o Perfil HA ou o Perfil Completo. Por exemplo:
EAP_HOME/bin/standalone.sh -c standalone-ha.xml
- Abra outra linha de comando e conecte-se ao Gerenciamento CLI.
- Para o Linux, insire a seguinte linha de comando:
$ EAP_HOME/bin/jboss-cli.sh --connect
- Para o Windows, insire a seguinte linha de comando:
C:\>EAP_HOME\bin\jboss-cli.bat --connect
Você deverá encontrar a seguinte resposta:Conectado ao controlador autônomo em localhost:9999
- Emita os seguintes comandos:
/subsystem=infinispan/cache-container=web/:write-attribute(name=default-cache,value=dist) /subsystem=infinispan/cache-container=web/distributed-cache=dist/:write-attribute(name=owners,value=3) :reload
Você deverá encontrar a seguinte resposta após cada comando:"outcome" => "success"
Esses comandos modificam o elementodist<distributed-cache>na configuraçãoweb<cache-container>no subsistemainfinispando arquivostandalone-ha.xml, como a seguir:<cache-container name="web" aliases="standard-session-cache" default-cache="dist" module="org.jboss.as.clustering.web.infinispan"> <transport lock-timeout="60000"/> <replicated-cache name="repl" mode="ASYNC" batching="true"> <file-store/> </replicated-cache> <replicated-cache name="sso" mode="SYNC" batching="true"/> <distributed-cache name="dist" owners="3" l1-lifespan="0" mode="ASYNC" batching="true"> <file-store/> </distributed-cache> </cache-container>Para mais informações, consulte o capítulo entitulado Clustering in Web Applications no guia Development Guide do JBoss EAP 6 localizado no Portal do Consumidor https://access.redhat.com/site/documentation/JBoss_Enterprise_Application_Platform/.

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.