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!
Inicie o JBoss EAP 6 com o clustering habilitado
Para habilitar o clustering no JBoss EAP 5.x, era necessário iniciar suas instâncias do servidor usando o perfilall
ou alguma derivação do mesmo, como por exemplo:EAP5_HOME/bin/run.sh -c all
$ EAP5_HOME/bin/run.sh -c all$ EAP5_HOME/bin/run.sh -c all$ EAP5_HOME/bin/run.sh -c all
Copy to Clipboard Copied! Toggle word wrap Toggle overflow No 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.xml
e determine um grupo de servidor para uso do seu perfilha
e grupo socket bindingha-sockets
. Por exemplo:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Habilitação do cluster para servidores autônomos
Inicie o servidor usando o arquivo de configuração apropriado conforme a seguinte amostra de habilitação do cluster para servidores autônomos:EAP_HOME/bin/standalone.sh --server-config=standalone-ha.xml -Djboss.node.name=UNIQUE_NODE_NAME
$ EAP_HOME/bin/standalone.sh --server-config=standalone-ha.xml -Djboss.node.name=UNIQUE_NODE_NAME$ EAP_HOME/bin/standalone.sh --server-config=standalone-ha.xml -Djboss.node.name=UNIQUE_NODE_NAME$ EAP_HOME/bin/standalone.sh --server-config=standalone-ha.xml -Djboss.node.name=UNIQUE_NODE_NAME$ EAP_HOME/bin/standalone.sh --server-config=standalone-ha.xml -Djboss.node.name=UNIQUE_NODE_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Especificação do endereço bind
No JBoss EAP 5.x, você normalmente indica o endereço bind usado para clustering usando o argumento da linha de comando-b
, conforme abaixo:EAP5_HOME/bin/run.sh -c all -b 192.168.0.2
$ EAP5_HOME/bin/run.sh -c all -b 192.168.0.2$ EAP5_HOME/bin/run.sh -c all -b 192.168.0.2$ EAP5_HOME/bin/run.sh -c all -b 192.168.0.2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OJBoss EAP 6 realiza o bind sockets nos endereços IP e interfaces contidas nos elementos<interfaces>
dos arquivosstandalone.xml
,domain.xml
ehost.xml
. As configurações padrões que lançam o JBoss EAP incluem duas configurações de interface:Essas configurações de interface usam valores doCopy to Clipboard Copied! Toggle word wrap Toggle overflow jboss.bind.address.management
ejboss.bind.address
de propriedades de sistema. Caso as propriedades de sistema não sejam determinadas, o default127.0.0.1
é usado para cada valor.O endereço bind pode ser definido como um argumento da linha de comando quando você inicia o servidor ou você pode explicitamente defini-lo com o arquivo de configuração do servidor do JBoss EAP 6.- Especifique o argumento bind na linha de comando quando iniciando o servidor autônomo do JBoss EAP.Segue abaixo uma amostra de como especificar o endereço bind na linha de comando para o servidor autônomo:
EAP_HOME/bin/standalone.sh -Djboss.bind.address=127.0.0.1
EAP_HOME/bin/standalone.sh -Djboss.bind.address=127.0.0.1EAP_HOME/bin/standalone.sh -Djboss.bind.address=127.0.0.1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Nota
É possível usar o argumento-b
, que é um atalho para o-Djboss.bind.address=127.0.0.1
:EAP_HOME/bin/standalone.sh -b=127.0.0.1
EAP_HOME/bin/standalone.sh -b=127.0.0.1EAP_HOME/bin/standalone.sh -b=127.0.0.1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow O formato de sintaxe JBoss EAP 5 também é suportado:Perceba que o argumentoEAP_HOME/bin/standalone.sh -b 127.0.0.1
EAP_HOME/bin/standalone.sh -b 127.0.0.1EAP_HOME/bin/standalone.sh -b 127.0.0.1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -b
apenas modifica as alterações da interfacepublic
. Isto não afeta a interfacemanagement
. - Especifique o endereço bind no arquivo de configuração do servidor.Especifique os endereços bind no arquivo
domain/configuration/host.xml
para servidores executando num managed domain. Para servidores autônomos, especifique os endereços bind no arquivostandalone-ha.xml
.A interfacepublic
na seguinte amostra é especificada como interface default para todos os sockets do grupo socket bindingha-sockets
.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow Nota
Caso o endereço bind for especificado como um valor codificado ao invés de uma propriedade de sistema no arquivo de configuração, não será possível substituí-lo num argumento da linha de comando.
Configure o
jvmRoute
para suportar o mod_jk e mod_proxyNo JBoss EAP 5, o servidor da webjvmRoute
foi 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-id
, conforme 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-id
pode ser determinado usando o Management Console.Especificação do endereço multicast e porta
No JBoss EAP 5.x, é possível especificar a porta e o endereço multicast usados para a comunicação de intra-cluste usando os argumentos-u
e-m
da linha de comando, conforme abaixo:EAP5_HOME/bin/run.sh -c all -u 228.11.11.11 -m 45688
$ EAP5_HOME/bin/run.sh -c all -u 228.11.11.11 -m 45688$ EAP5_HOME/bin/run.sh -c all -u 228.11.11.11 -m 45688
Copy to Clipboard Copied! Toggle word wrap Toggle overflow No 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 seguintes 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=45688
$ EAP_HOME/bin/domain.sh -Djboss.mcast.addr=228.11.11.11 -Djboss.mcast.port=45688$ EAP_HOME/bin/domain.sh -Djboss.mcast.addr=228.11.11.11 -Djboss.mcast.port=45688$ EAP_HOME/bin/domain.sh -Djboss.mcast.addr=228.11.11.11 -Djboss.mcast.port=45688
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Uso da pilha de protocolo alternativo
No JBoss EAP 5.x, é possível manipular a pilha do protocolo default para todos os serviços de clustering usando a propriedade de sistemajboss.default.jgroups.stack
.EAP5_HOME/bin/run.sh -c all -Djboss.default.jgroups.stack=tcp
$ EAP5_HOME/bin/run.sh -c all -Djboss.default.jgroups.stack=tcp$ EAP5_HOME/bin/run.sh -c all -Djboss.default.jgroups.stack=tcp$ EAP5_HOME/bin/run.sh -c all -Djboss.default.jgroups.stack=tcp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow No JBoss EAP 6, a pilha do protocolo default é definida pelo subsistema JGroups com odomain.xml
oustandalone-ha.xml
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Substituição da Replicação Buddy
O JBoss EAP 5.x usava o JBoss Cache Buddy Replication para suprimir a replicação de dados de todas as instâncias num cluster.No JBoss EAP 6, o Buddy Replication foi substituído pelo cache distribuído do Infinispan, também conhecido como modoDIST
. A distribuição é um modo de clustering que permite o Infinispan escalar linearmente com mais servidores que são adicionados ao cluster. Segue abaixo uma amostra de como configurar o servidor para uso no modo de DIST caching.- 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.xml
Copy 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 --connect
Copy 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 --connect
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Você deverá observar a seguinte resposta:Conectado ao controlador autônomo no localhost:9999
Conectado ao controlador autônomo no localhost:9999
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Adicione 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) :reload
Copy 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 modificam o elementodist
<distributed-cache>
na configuraçãoweb
<cache-container>
do subsistemainfinispan
do arquivostandalone-ha.xml
, conforme abaixo:Refira-se ao capítulo nomeado 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 a este respeito.Copy to Clipboard Copied! Toggle word wrap Toggle overflow