3.2.8. Cambios del uso de clústers


3.2.8.1. Realizar cambios a su aplicación para uso de clústers

Procedimiento 3.23.

  1. 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 perfil all o alguna derivación de este así:
    $ EAP5_HOME/bin/run.sh -c all
    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.
    1. 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 su domain.xml y designe un grupo de servidores para utilizar el perfil ha y el grupo de enlace de sockets ha-sockets. Por ejemplo:
      <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>
      
      Copy to Clipboard Toggle word wrap
    2. 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
  2. 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 -b así: $ EAP_HOME/bin/run.sh -c all -b 192.168.0.2
    En JBoss EAP 6, las direcciones de enlace se definen explícitamente por los enlaces de socket relevantes dentro de los archivos de configuración de JBoss EAP 6. Para los servidores iniciados usando el controlador de dominios, las direcciones de enlace se especifican dentro del archivo domain/configuration/host.xml. Para los servidores autónomos las direcciones de enlace se especifican dentro del archivo standalone-ha.xml:
    <interfaces>
      <interface name="management">
        <inet-address value="192.168.0.2"/>
          </interface>
          <interface name="public">
        <inet-address value="192.168.0.2"/>
      </interface>
    </interfaces>
    
    Copy to Clipboard Toggle word wrap
    <socket-binding-groups>
      <socket-binding-group name="ha-sockets" default-interface="public">
        <!-- ... -->
      </socket-binding-group>
    </socket-binding-groups>
    
    Copy to Clipboard Toggle word wrap
    En el ejemplo anterior, la interfaz public se especifica como la interfaz predeterminada para todos los sockets dentro del grupo de enlace del socket ha-sockets.
  3. Configure jvmRoute para soportar mod_jk y mod_proxy

    En JBoss EAP 5, el servidor web jvmRoute se configuraba usando una propiedad en el archivo server.xml. En JBoss EAP 6, el atributo jvmRoute se configura en el subsistema web del archivo de configuración del servidor usando el atributo instance-id así:
    <subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="false" instance-id="{JVM_ROUTE_SERVER}">
    
    
    Copy to Clipboard Toggle word wrap
    El {JVM_ROUTE_SERVER} anterior se debe reemplazar por el id del servidor jvmRoute server.
    El instance-id también se puede configurar usando la consola de administración.
  4. 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 -u y -m, respectivamente así: $ EAP_HOME/bin/run.sh -c all -u 228.11.11.11 -m 45688
    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í:
    <subsystem xmlns="urn:jboss:domain:jgroups:1.0" default-stack="udp">
        <stack name="udp">
            <transport type="UDP" socket-binding="jgroups-udp"/>
            <!-- ... -->
        </stack>
    </subsystem>
    
    Copy to Clipboard Toggle word wrap
    <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>
    
    
    Copy to Clipboard Toggle word wrap
    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, jboss.mcast.addr es el nombre de la variable para la dirección multicast y jboss.mcast.port es el nombre de la variable para el puerto.
    <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 Toggle word wrap
    Luego puede iniciar su servidor usando los siguientes argumentos de la línea de comandos: $ EAP_HOME/bin/domain.sh -Djboss.mcast.addr=228.11.11.11 -Djboss.mcast.port=45688
  5. 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 sistema jboss.default.jgroups.stack. $ EAP_HOME/bin/run.sh -c all -Djboss.default.jgroups.stack=tcp
    En JBoss EAP 6, la pila predeterminada del protocolo es definida por el subsistema JGroups dentro de domain.xml o standalone-ha.xml:
    <subsystem xmlns="urn:jboss:domain:jgroups:1.0" default-stack="udp">
        <stack name="udp">
            <!-- ... -->
        </stack>
    </subsystem>
    
    Copy to Clipboard Toggle word wrap
  6. Reemplazar la replicación de compañeros

    JBoss EAP 5.x utilizaba la replicación de compañeros de JBoss Cache para suprimir la réplica de datos en todas las instancias en un clúster. Se requería que pasara el argumento -Djboss.cluster.buddyRepl en la línea de comandos cuando iniciaba el servidor JBoss.
    En JBoss EAP 6, la replicación de compañeros fue reemplazada por el caché distribuído mucho mas superior de Infinispan o modo DIST. 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.
    1. 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
      Copy to Clipboard Toggle word wrap
    2. 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
        
        Copy to Clipboard Toggle word wrap
      • Para Windows, ingrese lo siguiente en la línea de comandos:
        C:\>EAP_HOME\bin\jboss-cli.bat --connect
        
        Copy to Clipboard Toggle word wrap
      Debe ver la siguiente respuesta:
      Conectado a un controlador autónomo en localhost:9999
      Copy to Clipboard Toggle word wrap
    3. 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
      
      Copy to Clipboard Toggle word wrap
      Debe ver la siguiente respuesta después de cada comando:
      "outcome" => "success"
      
      Copy to Clipboard Toggle word wrap
      Estos comandos crean la siguiente configuración en el subsistema infinispan del archivo standalone-ha.xml:
      <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>
      
      
      Copy to Clipboard Toggle word wrap
      Para mayor información consulte el capítulo titulado Clustering in Web Applications en la Development Guide para JBoss EAP 6 que se encuentra en el portal del cliente en https://access.redhat.com/site/documentation/JBoss_Enterprise_Application_Platform/.
Red Hat logoGithubredditYoutubeTwitter

Aprender

Pruebe, compre y venda

Comunidades

Acerca de la documentación de Red Hat

Ayudamos a los usuarios de Red Hat a innovar y alcanzar sus objetivos con nuestros productos y servicios con contenido en el que pueden confiar. Explore nuestras recientes actualizaciones.

Hacer que el código abierto sea más inclusivo

Red Hat se compromete a reemplazar el lenguaje problemático en nuestro código, documentación y propiedades web. Para más detalles, consulte el Blog de Red Hat.

Acerca de Red Hat

Ofrecemos soluciones reforzadas que facilitan a las empresas trabajar en plataformas y entornos, desde el centro de datos central hasta el perímetro de la red.

Theme

© 2026 Red Hat
Volver arriba