La generación de clusters en EAP es para tener alta disponibilidad del servicio. En JBoss EAP 6, no es necesario generar dos configuraciones de servidor JBoss para hacer clusters, pero si crear un nuevo archivo XML.
La generación de clusters en EAP es para tener alta disponibilidad del servicio. En JBoss EAP 6, no es necesario generar dos configuraciones de servidor JBoss para hacer clusters, pero si crear un nuevo archivo XML.
La configuración standalone en cluster es útil para entornos de desarrollo, debido a que solo puede contener un perfil de configuración. Por lo general, se utiliza el archivo standalone-ha.xml. Es buena páctica hacer un respaldo del archivo original antes de hacer modificaciones.
Con la configuración standalone, se pueden hacer cluster con los equipos ejecutandose en el mismo servidor o residiendo en distintos servidores.
Los clusters se suelen utilizar con balanceadores de carga, y en JBoss EAP 6, el balanceador se hace con apache server, pero eso se verá en otra entrada.
Al primer archivo, lo llamaremos standalone-ha-node1.xml
En este archivo, revisaremos la etiqueta <interfaces>, que debe apuntar hacia la ip de nuestro servidor, en este caso, localhost (127.0.0.1)
<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>
y en la parte de los sockets, lo dejamos sin cambios para el primer servidor:
<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
Para el segundo server, crearemos otro archivo standalone-ha-node2.xml. Solo que en este configuraremos un offset de puertos en el socket binding:
<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:100}">
Asi mismo, para evitar conflicto de puertos, en el archivo standalone-ha-node2.xml cambiaremos los puertos de administración:
<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:100}">
<socket-binding name="management-native" interface="management" port="${jboss.management.native.port:9999}"/>
<socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>
<socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9443}"/>
Servidor 1
D:\programas\jboss-eap-6.2\bin>standalone.bat --server-config=standalone-ha-node1.xml
Servidor 2
D:\programas\jboss-eap-6.2\bin>standalone.bat --server-config=standalone-ha-node2.xml
Podremos ver el servidor 1 en el puerto 8080:
y el servidor 2 en el puerto 8180:
Y con esto podremos ver dos servidores en clúster, donde podremos desplegar las aplicaciones con un balanceador de carga, para lo cuál apache nos servirá, y una aplicación distribuida en clúster, pero eso será tema de otra entrada.