Balanceo de cargas con JBoss

<< Click to Display Table of Contents >>

Navigation:  Bizagi Engine > Administración del Sistema Bizagi > Configuración del servidor Bizagi > Configuración de Bizagi Engine JEE > Configuración de la arquitectura del sistema > Configuración del balanceo de cargas >

Balanceo de cargas con JBoss

applies_JEE

 

La siguiente sección ilustra un ejemplo donde se configura balanceo de cargas para el servidor de Bizagi.

Este ejemplo aplica para la edición Enterprise JEE donde se utiliza configuración de JBoss en clúster y el balanceo de cargas a través de Apache HTTP Server.

 

Por lo tanto y antes de continuar, asegúrese de haber configurado su clúster de JBoss como se describe en Configuración de JBoss en clúster.

 

 

Tenga en cuenta que Bizagi soporta tanto balanceadores en hardware o software, y se recomienda el uso de un balanceador de cargas por hardware (p.e F5). Para más información sobre las directrices del balanceo de cargas, consulte Configurar el balanceo de cargas.

 

 

Ejemplo

Para ilustrar la configuración de un balanceo de cargas, en esta sección se describen los cambios que se deben realizar utilizando los servicios de Apache HTTP Server.

Por lo tanto, en el siguiente ejemplo se parte del uso de un servidor Web con una instancia de Apache HTTP Server.

 

 

Para JBoss, la descarga de este servidor se puede hacerla directamente desde la página oficial de Apache HTTP Server, y seleccionar la inclusión del módulo mod_cluster-1.2.0 module para versiones de Apache 2.2.x.

La versión para JBoss se disponibiliza acá también: http://mod-cluster.jboss.org/.

 

note_pin

En una instalación de Apache sobre un sistema operativo Windows, descargue y utilice el mod_cluster-1.2.0.Final-windows-x86-ssl.zip, como aparece disponible desde el sitio oficial de  Apache HTTP Server.

Con esto tendrá el servidor instalado con los Experto necesarios para JBoss.

 

La ruta donde se instala Apache HTTP Server será referenciada a partir de este momento como <APACHE_HOME>.

 

SettingBizagiInternet00_InstallingApache

 

Configurar el balanceador para que contemple los múltiples nodos del clúster.

Una vez instalado Apache, podrá asegurarse de que el módulo de configuración se encuentre iniciado, utilizando el ejecutable ubicado como :

<APACHE_HOME>\bin\installconf

 

En nuestro ejemplo que utiliza Apache HTTP Server y JBoss, se especifica que nodos hacen parte de la solución al editar el archivo de configuración <APACHE_HOME>\conf\httpd.conf

 

Al editar este archivo, habilite los Experto necesarios habilitando las siguientes líneas:

LoadModule slotmem_module        modules/mod_slotmem.so

LoadModule manager_module        modules/mod_manager.so

LoadModule proxy_cluster_module  modules/mod_proxy_cluster.so

LoadModule advertise_module      modules/mod_advertise.so

 

Incluya las siguientes definiciones para el balanceo de cargas entre sus nodos:

<IfModule manager_module>

Listen [Servidor_Balanceador]:[Puerto_Balanceador]

ManagerBalancerName mycluster

 <VirtualHost [Nodo_Maestro]:[Puerto_Nodo_Maestro]>

         <Location />

                 Order deny,allow

                 Deny from all

                 Allow from 127.0.0.1

                 Allow from [Nodo1]:[Puerto1]

                 Allow from [Nodo2]:[Puerto2]

         </Location>

 

         KeepAliveTimeout 300

         MaxKeepAliveRequests 0

         AdvertiseFrequency 5

         ServerAdvertise On

         AdvertiseGroup 224.0.1.105:23364

         AllowDisplay On

         EnableMCPMReceive

 

         <Location /mod_cluster_manager>

                 SetHandler mod_cluster-manager

                 Order deny,allow

                 Deny from all

                 Allow from 127.0.0.1

                 Allow from [Nodo1]:[Puerto1]

                 Allow from [Nodo2]:[Puerto2]

         </Location>

 

 </VirtualHost>

</IfModule>

 

Considere:

[Servidor_Balanceador]: El nombre/IP del servidor local el cuál ejerce el balanceo de cargas.

[Puerto_Balanceador]: El número de puerto bajo el cual el balanceador atiende las peticiones.

[Nodo1] : El nombre del servidor (o IP) en donde está el servicio del Nodo1.

[Puerto1] : El número de puerto bajo el cual el Nodo1 atiende las peticiones.

[Nodo2] : El nombre del servidor (o IP) en donde está el servicio del Nodo2.

[Puerto2] : El número de puerto bajo el cual el Nodo2 atiende las peticiones.

 

Nótese que para cada nodo adicional del clúster de JBoss, usted podrá incluir ocurrencias adicionales de:

Allow from [NodoN]:[PuertoN]

 

note_pin

Bizagi soporta cualquier algoritmo que se configure para el balanceo de cargas (esta configuración se realiza de manera independiente), y se requiere que se habilite el uso de sesiones pegajosas (sticky sessions).

 

Una vez haya editado la información, guarde los cambios y cierre el archivo.

 

 

note_pin

Asegúrese que sus nodos de JBoss referencien la IP del balanceador dentro de la configuración del subsistema modcluster (del perfil llamado HA profile).

Para ello, revise la siguiente configuración dentro del archivo domain.xml de cada nodo:

<subsystem xmlns="urn:jboss:domain:modcluster:1.1">

<mod-cluster-config advertise-socket="modcluster" proxy-list="[Servidor_Balanceador]:[Puerto]" balancer="mycluster" connector="ajp">

    <dynamic-load-provider>

         <load-metric type="busyness"/>

    </dynamic-load-provider>

</mod-cluster-config>

</subsystem>

 

 

Una vez finalizada la configuración, podrá iniciar el servicio y revisar que los nodos de su clúster se visualicen correctamente desde el siguiente módulo accedido por un navegador:

http://[Balancer_Server]:[Port]/mod_cluster-manager

 

LoadBalance_check