3.2.8. Cambios del uso de clústers
3.2.8.1. Realizar cambios a su aplicación para uso de clústers Copiar enlaceEnlace copiado en el portapapeles!
Inicie JBoss EAP 6 con el uso de clústers habilitado
Para habilitar el uso de clústers en JBoss EAP 5.x, necesitaba iniciar sus instancias del servidor usando el perfilallo alguna derivación de este así:EAP5_HOME/bin/run.sh -c all
$ EAP5_HOME/bin/run.sh -c allCopy to Clipboard Copied! Toggle word wrap Toggle overflow En JBoss EAP 6, el método para habilitar el clúster depende de si los servidores son autónomos o si están ejecutando en un dominio administrado.Habilite el clúster para los servidores ejecutando en un dominio administrado
Para habilitar el uso de clústers para los servidores iniciados usando el controlador de dominio, actualice sudomain.xmly designe un grupo de servidores para utilizar el perfilhay el grupo de enlace de socketsha-sockets. Por ejemplo:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Habilitación del uso de clústers para servidores autónomos
Para habilitar los clústers para los servidores autónomos inicie el servidor usando el archivo de configuración apropiado así: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_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow
Especifique la dirección de enlace
En JBoss EAP 5.x usualmente indicaría la dirección de enlace utilizada para el uso de clústers utilizando el argumento de la línea de comandos-basí:EAP5_HOME/bin/run.sh -c all -b 192.168.0.2
$ EAP5_HOME/bin/run.sh -c all -b 192.168.0.2Copy to Clipboard Copied! Toggle word wrap Toggle overflow JBoss EAP 6 enlaza sockets a las direcciones IP e interfaces que se encuentran en los elementos<interfaces>en los archivosstandalone.xml,domain.xmlyhost.xml. Las configuraciones estándar que se envían junto con JBoss EAP incluyen dos configuraciones de interfaz:Estas configuraciones de interfaz usan los valores de las propiedades del sistemaCopy to Clipboard Copied! Toggle word wrap Toggle overflow jboss.bind.address.managementyjboss.bind.address. Si estas propiedades del sistema no se establecen entonces se utiliza el valor predeterminado127.0.0.1para cada valor.También puede especificar la dirección de enlace como un argumento de la línea de comandos cuando inicia el servidor o puede definirla explícitamente dentro del archivo de configuración del servidor JBoss EAP 6.- Especifique el argumento de enlace en la línea de comandos cuando incia el servidor autónomo JBoss EAP.El siguiente es un ejemplo de cómo especificar la dirección de enlace en la línea de comandos para un 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.1Copy to Clipboard Copied! Toggle word wrap Toggle overflow Nota
También puede utilizar el argumento-b, el cual es un atajo para-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.1Copy to Clipboard Copied! Toggle word wrap Toggle overflow El formato de la sintaxis de JBoss EAP 5 todavía se soporta:Note que el argumentoEAP_HOME/bin/standalone.sh -b 127.0.0.1
EAP_HOME/bin/standalone.sh -b 127.0.0.1Copy to Clipboard Copied! Toggle word wrap Toggle overflow -bsolo cambia la interfazpublic. No afecta la interfazmanagement. - Especifique la dirección de enlace en el archivo de configuración del servidor.Para los servidores ejecutando en un dominio administrado, especifique las direcciones de enlace en el archivo
domain/configuration/host.xml. Para los servidores autónomos especifique las direcciones de enlace en el archivostandalone-ha.xml.En el siguiente ejemplo, la interfazpublicse especifica como la interfaz predeterminada para todos los sockets dentro del grupo de enlace de socketsha-sockets.Copy to Clipboard Copied! Toggle word wrap Toggle overflow <socket-binding-groups> <socket-binding-group name="ha-sockets" default-interface="public"> <!-- ... --> </socket-binding-group> </socket-binding-groups><socket-binding-groups> <socket-binding-group name="ha-sockets" default-interface="public"> <!-- ... --> </socket-binding-group> </socket-binding-groups>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Nota
Si especifica la dirección de enlace como un valor definido en lugar de una propiedad del sistema en el archivo de configuración entonces no puede sobreescribirlo con un argumento de la línea de comandos.
Configure
jvmRoutepara soportar mod_jk y mod_proxyEn JBoss EAP 5, el servidor webjvmRoutese configuraba usando una propiedad en el archivoserver.xml. En JBoss EAP 6, el atributojvmRoutese configura en el subsistema web del archivo de configuración del servidor usando el atributoinstance-idasí:El {JVM_ROUTE_SERVER} anterior se debe reemplazar por el id del servidor jvmRoute server.<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 Elinstance-idtambién se puede configurar usando la consola de administración.Especifique la dirección y puerto multicast
En JBoss EAP 5.x puede especificar la dirección y puerto multicast utilizados para la comunicación interna del clúster usando los argumentos de la línea de comandos-uy-mrespectivamente, así: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 45688Copy to Clipboard Copied! Toggle word wrap Toggle overflow En JBoss EAP 6, la dirección multicast y el puerto utilizado para la comunicación intra-clúster se definen por medio del enlace de socket referenciado por la pila del protocolo JGroups relevante así:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Si prefiere especificar la dirección multicast y el puerto en la línea de comandos, puede definir la dirección multicast y los puertos como propiedades del sistema y luego usar esas propiedades en la línea de comandos cuando inicie el servidor. En el siguiente ejemplo,Copy to Clipboard Copied! Toggle word wrap Toggle overflow jboss.mcast.addres el nombre de la variable para la dirección multicast yjboss.mcast.portes el nombre de la variable para el puerto.Luego puede iniciar su servidor utilizando los siguientes argumentos de la línea de comandos:<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=45688Copy to Clipboard Copied! Toggle word wrap Toggle overflow Use una pila opcional del protocolo
En JBoss EAP 5.x, puede manipular la pila predeterminada del protocolo utilizada para todos los servicios de clúster usando la propiedad del 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=tcpCopy to Clipboard Copied! Toggle word wrap Toggle overflow En JBoss EAP 6, la pila predeterminada del protocolo es definida por el subsistema JGroups dentro dedomain.xmlostandalone-ha.xml:<subsystem xmlns="urn:jboss:domain:jgroups:1.0" default-stack="udp"> <stack name="udp"> <!-- ... --> </stack> </subsystem><subsystem xmlns="urn:jboss:domain:jgroups:1.0" default-stack="udp"> <stack name="udp"> <!-- ... --> </stack> </subsystem>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Reemplazar la replicación de compañeros
JBoss EAP 5.x utilizaba JBoss Cache Buddy Replication para eliminar la replicación de datos en todas las instancias en un clúster.En JBoss EAP 6, la replicación de compañeros fue reemplazada por el caché distribuído de Infinispan también conocido como el modoDIST. La distribución es un modo de uso de clústers poderoso, el cual le permite a Infinispan el escalar linearmente cuando se agregan mas servidores al clúster. El siguiente es un ejemplo de cómo configurar el servidor para utilizar el modo de caché DIST.- Abra una línea de comandos e inicie el servidor con el perfil HA o Full Profile, por ejemplo:
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 otra línea de comandos y conéctese al CLI de administración.
- Para Linux, ingrese lo siguiente en la línea de comandos:
EAP_HOME/bin/jboss-cli.sh --connect
$ EAP_HOME/bin/jboss-cli.sh --connectCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Para Windows, ingrese lo siguiente en la línea de comandos:
C:\>EAP_HOME\bin\jboss-cli.bat --connect
C:\>EAP_HOME\bin\jboss-cli.bat --connectCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Debe ver la siguiente respuesta:Conectado a un controlador autónomo en localhost:9999
Conectado a un controlador autónomo en localhost:9999Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Emita los siguientes 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 Debe ver la siguiente respuesta después de cada comando:"outcome" => "success"
"outcome" => "success"Copy to Clipboard Copied! Toggle word wrap Toggle overflow Estos comandos modifican el elementodist<distributed-cache>en la configuraciónweb<cache-container>en el subsistemainfinispandel archivostandalone-ha.xmlasí:Para mayor información consulte el capítulo titulado Clústers en aplicaciones web en la Guía de desarrollo para JBoss EAP 6 que se encuentra en el portal del cliente en https://access.redhat.com/site/documentation/JBoss_Enterprise_Application_Platform/.Copy to Clipboard Copied! Toggle word wrap Toggle overflow