3.2.8. Alterações de Clustering
3.2.8.1. Realize Alterações ao seu Aplicativo para o Clustering Copiar o linkLink copiado para a área de transferência!
Procedimento 3.23.
Inicie o JBoss EAP 6 com o clustering habilitado
Para habilitar o clustering no JBoss EAP 5.x, você precisava iniciar suas instâncias do servidor usando o perfilallou alguma derivação do mesmo, como por exemplo:$ EAP5_HOME/bin/run.sh -c allNo JBoss EAP 6, o método para a habilitação do clustering depende dos servidores serem autônomos ou serem executados num managed domain.Habilitação do cluster para servidores executando num managed domain
Para habilitar o clustering para servidores iniciados usando o domain controller, atualize o seudomain.xmle determine um grupo de servidor para uso do seu perfilhae grupo binding de soqueteha-sockets. Por exemplo:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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 conforme o seguinte:$ EAP_HOME/bin/standalone.sh --server-config=standalone-ha.xml -Djboss.node.name=UNIQUE_NODE_NAME
Especificação do endereço bind
No JBoss EAP 5.x, você indicaria normalmente o endereço bind, usado para o clustering, usando o argumento da linha de comando-bconforme o seguinte:$ EAP_HOME/bin/run.sh -c all -b 192.168.0.2No JBoss EAP 6, os endereços bind são claramente definidos pelos socket bindings relevantes com os arquivos da configuração do JBoss EAP 6. Para os servidores iniciados usando o domain controller, os endereços bind são especificados com o arquivodomain/configuration/host.xml. Para os servidores autônomos, os endereços bind são especificados com o arquivostandalone-ha.xml:Copy to Clipboard Copied! Toggle word wrap Toggle overflow A interfaceCopy to Clipboard Copied! Toggle word wrap Toggle overflow publicé especificada na amostra acima como interface default para todos os sockets com o grupo socket bindingha-sockets.Configure o
jvmRoutepara suportar o mod_jk e mod_proxyNo JBoss EAP 5, o servidor da webjvmRoutefoi configurado usando a 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-idconforme o seguinte:O {JVM_ROUTE_SERVER} acima deve ser substituído pela ID do servidor jvmRoute.<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="false" instance-id="{JVM_ROUTE_SERVER}"><subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="false" instance-id="{JVM_ROUTE_SERVER}">Copy to Clipboard Copied! Toggle word wrap Toggle overflow Oinstance-idpode ser determinado usando o Management Console.Especificação do endereço multicast e porta
No JBoss EAP 5.x, você pode especificar o endereço multicast e a porta usada para a comunicação infra-cluster usando os argumentos da linha de comando-ue-m, respectivamente, como por exemplo:$ EAP_HOME/bin/run.sh -c all -u 228.11.11.11 -m 45688No JBoss EAP 6, o endereço e porta multicast usados para a comunicação do cluster são definidos pelo socket-binding referenciado pela pilha do protocolo JGroups relevante, conforme abaixo:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Caso você preferir especificar o endereço multicast e a porta na linha de comando, você pode definir o endereço multicast e as portas como propriedades de sistema e usá-las na linha de comando quando você iniciar o servidor. A seguinte amostra,Copy to Clipboard Copied! Toggle word wrap Toggle overflow jboss.mcast.addré o nome da variável para o endereço multicast e ojboss.mcast.porté o nome da variável para a porta.Você pode iniciar o seu servidor usando os argumentos da linha de comando:<socket-binding name="jgroups-udp" port="55200" multicast-address="${jboss.mcast.addr:230.0.0.4}" multicast-port="${jboss.mcast.port:45688}"/><socket-binding name="jgroups-udp" port="55200" multicast-address="${jboss.mcast.addr:230.0.0.4}" multicast-port="${jboss.mcast.port:45688}"/>Copy to Clipboard Copied! Toggle word wrap Toggle overflow $ EAP_HOME/bin/domain.sh -Djboss.mcast.addr=228.11.11.11 -Djboss.mcast.port=45688Uso da pilha de protocolo alternativo
No JBoss EAP 5.x, você pode manipular a pilha de protocolo default para todos os serviços de clustering usando a propriedade de sistemajboss.default.jgroups.stack.$ EAP_HOME/bin/run.sh -c all -Djboss.default.jgroups.stack=tcpNo JBoss EAP 6, a pilha do protocolo default é definida pelo subsistema JGroups com odomain.xmloustandalone-ha.xml:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Substituição da Replicação Buddy
O JBoss EAP 5.x usou o JBoss Cache Buddy Replication para suprimir a replicação dos dados para todas as instâncias num cluster. É solicitado que você passe o argumento-Djboss.cluster.buddyReplna linha de comando quando você inicia o servidor do JBoss.No JBoss EAP 6, a Replicação Buddy foi substituída pelo cache distribuído bastante superior do Infinispan ou modo DIST. A distribuição é um modo do clustering potente que permite o Infinispan a escalar de forma linear à medida que mais servidores são adicionados ao cluster. Segue abaixo uma amostra de como configurar o servidor para uso do modo de cache DIST.- Abra a linha de comando e inicie o servidor com tanto o Perfil Completo ou HA. Por exemplo:
EAP_HOME/bin/standalone.sh -c standalone-ha.xml
EAP_HOME/bin/standalone.sh -c standalone-ha.xmlCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Abra outra linha de comando e conecte-se ao Management CLI.
- Insira a seguinte linha de comando para o Linux:
EAP_HOME/bin/jboss-cli.sh --connect
$ EAP_HOME/bin/jboss-cli.sh --connectCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Insira a seguinte linha de comando para o Windows:
C:\>EAP_HOME\bin\jboss-cli.bat --connect
C:\>EAP_HOME\bin\jboss-cli.bat --connectCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Você deve ver a seguinte resposta:Conectado ao controlador autônomo no localhost:9999
Conectado ao controlador autônomo no localhost:9999Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Imprima 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
/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) :reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow Você deverá ver a seguinte resposta após cada comando:"outcome" => "success"
"outcome" => "success"Copy to Clipboard Copied! Toggle word wrap Toggle overflow Esses comandos criam a seguinte configuração no subsistemainfinispando arquivostandalone-ha.xml:Refira-se ao capítulo Clustering nos Aplicativos da Web no Guia de Desenvolvimento do JBoss EAP 6 localizado no Portal do Cliente https://access.redhat.com/site/documentation/JBoss_Enterprise_Application_Platform/ para maiores informações sobre este respeito.Copy to Clipboard Copied! Toggle word wrap Toggle overflow