Conceptos básicos de WildFly (servidor de aplicaciones JBoss)


En nuestros dos últimos artículos, pasamos por la instalación de WildFly y luego administramos el servidor usando la versión GUI de CLI. Hoy, hablaremos sobre los conceptos básicos o puede decir los términos que se usan en WildFly. Puede consultar nuestros últimos artículos publicados en.

  1. WildFly: una nueva instalación mejorada del servidor de aplicaciones JBoss
  2. Administre el servidor WildFly (JBoss AS) utilizando la versión GUI de CLI

Aquellos que ya estén familiarizados con Jboss AS, estarán al tanto del gran cambio introducido en Jboss AS 7. * y por lo tanto WildFly. El cambio fue el diseño modular, significa que cargará las clases necesarias por aplicación en lugar de cargar todas las clases.

A continuación se muestran algunos de los términos básicos utilizados en WildFly:

Modos de inicio

Wildfly ha introducido nuevos modos de inicio. Tiene dos modos de operaciones que se utilizan para administrar todas las operaciones del servidor.

  1. Modo independiente
  2. Modo de dominio

Ambos modos son manejados por dos scripts diferentes proporcionados dentro del directorio "bin" de la instalación de WildFly.

[[email protected] bin]# ll -m1 standalone.sh domain.sh

domain.sh
standalone.sh

En la versión anterior de Jboss AS 7. * es decir, Jboss Application Server 3, 4, 5 o 6, todas las instancias de jboss en ejecución tienen su proceso individual. Cada instancia tendrá su propia consola de administración y otras funciones para controlar la misma.

De manera muy similar funciona el modo autónomo. Podemos lanzar un servidor independiente usando el script "standalone.sh" y pasando diferentes parámetros según los requisitos. Podemos lanzar tantas instancias como queramos (todas deberían estar configuradas para ejecutarse en diferentes puertos).

También podemos formar diferentes clústeres HA como lo estábamos haciendo con la versión anterior, es decir, 4, 5 o 6.

Vaya al directorio $JBOSS_HOME/bin y ejecute el script standalone.sh desde la terminal como se muestra a continuación. Si no especificamos ningún parámetro, entonces de forma predeterminada se vinculará a la dirección de loopback y usará el archivo standalone.xml.

[[email protected] bin]# ./standalone.sh
tecmint-VGN-Z13GN bin # ./standalone.sh
=========================================================================

  JBoss Bootstrap Environment

  JBOSS_HOME: "/data/wildfly-8.0.0.Final"

  JAVA: java

  JAVA_OPTS:  -server -Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true

=========================================================================

13:25:22,168 INFO  [org.jboss.modules] (main) JBoss Modules version 1.3.0.Final
13:25:22,717 INFO  [org.jboss.msc] (main) JBoss MSC version 1.2.0.Final
13:25:22,818 INFO  [org.jboss.as] (MSC service thread 1-3) JBAS015899: WildFly 8.0.0.Final "WildFly" starting
13:25:24,287 INFO  [org.jboss.as.server] (Controller Boot Thread) JBAS015888: Creating http management service using socket-binding (management-http)
13:25:24,310 INFO  [org.xnio] (MSC service thread 1-1) XNIO version 3.2.0.Final
13:25:24,332 INFO  [org.xnio.nio] (MSC service thread 1-1) XNIO NIO Implementation Version 3.2.0.Final
13:25:24,486 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 33) JBAS010280: Activating Infinispan subsystem.
13:25:24,491 INFO  [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 28) JBAS010403: Deploying JDBC-compliant driver class org.h2.Driver (version 1.3)
13:25:24,514 INFO  [org.jboss.remoting] (MSC service thread 1-1) JBoss Remoting version 4.0.0.Final
13:25:24,573 INFO  [org.jboss.as.jsf] (ServerService Thread Pool -- 39) JBAS012615: Activated the following JSF Implementations: [main]
13:25:24,575 INFO  [org.jboss.as.connector.logging] (MSC service thread 1-3) JBAS010408: Starting JCA Subsystem (IronJacamar 1.1.3.Final)
13:25:24,587 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-3) JBAS010417: Started Driver service with driver-name = h2
13:25:24,622 INFO  [org.jboss.as.naming] (ServerService Thread Pool -- 41) JBAS011800: Activating Naming Subsystem
13:25:24,691 INFO  [org.jboss.as.security] (ServerService Thread Pool -- 46) JBAS013171: Activating Security Subsystem
13:25:24,707 INFO  [org.jboss.as.naming] (MSC service thread 1-4) JBAS011802: Starting Naming Service
13:25:24,708 INFO  [org.jboss.as.mail.extension] (MSC service thread 1-3) JBAS015400: Bound mail session [java:jboss/mail/Default]
13:25:24,737 INFO  [org.jboss.as.security] (MSC service thread 1-1) JBAS013170: Current PicketBox version=4.0.20.Final
13:25:24,754 INFO  [org.jboss.as.webservices] (ServerService Thread Pool -- 50) JBAS015537: Activating WebServices Extension
13:25:24,800 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-4) JBAS017502: Undertow 1.0.0.Final starting
13:25:24,800 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 49) JBAS017502: Undertow 1.0.0.Final starting

Nota: Puede usar la opción –b [IP] para iniciar el servidor con alguna otra IP y para cargar algún otro archivo de configuración, use -c [nombre del archivo de configuración].

Este es un nuevo concepto que se introduce en AS-7. *. Con esta nueva característica en WildFly-8, podemos administrar diferentes instancias desde un solo punto. Esto realmente nos ayuda a reducirnos a un punto de control en lugar de administrar varios servidores independientes.

Todos los servidores administrados por Dominio se conocen como miembros del dominio. Todos los miembros del dominio pueden compartir la misma configuración/implementaciones. Esto es realmente útil y útil para el entorno de agrupación.

En el modo de dominio, podemos crear un grupo de servidores y luego agregar un número de servidores a ese grupo. Con esto, hagamos lo que hagamos en este grupo de servidores, todo se replicará en cada servidor de los grupos de servidores.

Vaya al directorio $JBOSS_HOME/bin e inicie el script domain.sh desde la terminal como se muestra a continuación.

[[email protected] bin]# ./domain.sh
=========================================================================

  JBoss Bootstrap Environment

 JBOSS_HOME: "/data/wildfly-8.0.0.Final"

  JAVA: java

  JAVA_OPTS: -Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true

=========================================================================

13:30:33,939 INFO  [org.jboss.modules] (main) JBoss Modules version 1.3.0.Final
13:30:34,077 INFO  [org.jboss.as.process.Host Controller.status] (main) JBAS012017: Starting process 'Host Controller'
[Host Controller] 13:30:34,772 INFO  [org.jboss.modules] (main) JBoss Modules version 1.3.0.Final
[Host Controller] 13:30:34,943 INFO  [org.jboss.msc] (main) JBoss MSC version 1.2.0.Final
[Host Controller] 13:30:34,999 INFO  [org.jboss.as] (MSC service thread 1-4) JBAS015899: WildFly 8.0.0.Final "WildFly" starting
[Host Controller] 13:30:35,689 INFO  [org.xnio] (MSC service thread 1-1) XNIO version 3.2.0.Final
[Host Controller] 13:30:35,692 INFO  [org.jboss.as] (Controller Boot Thread) JBAS010902: Creating http management service using network interface (management) port (9990) securePort (-1)
[Host Controller] 13:30:35,701 INFO  [org.xnio.nio] (MSC service thread 1-1) XNIO NIO Implementation Version 3.2.0.Final
[Host Controller] 13:30:35,747 INFO  [org.jboss.remoting] (MSC service thread 1-1) JBoss Remoting version 4.0.0.Final
[Host Controller] 13:30:35,817 INFO  [org.jboss.as.remoting] (MSC service thread 1-2) JBAS017100: Listening on 127.0.0.1:9999
^C13:30:36,415 INFO  [org.jboss.as.process] (Shutdown thread) JBAS012016: Shutting down process controller
13:30:36,416 INFO  [org.jboss.as.process.Host Controller.status] (Shutdown thread) JBAS012018: Stopping process 'Host Controller'
[Host Controller] 13:30:36,456 INFO  [org.jboss.as] (MSC service thread 1-2) JBAS015950: WildFly 8.0.0.Final "WildFly" stopped in 19ms
[Host Controller] 
13:30:36,476 INFO  [org.jboss.as.process.Host Controller.status] (reaper for Host Controller) JBAS012010: Process 'Host Controller' finished with an exit status of 130
13:30:36,476 INFO  [org.jboss.as.process] (Shutdown thread) JBAS012015: All processes finished; exiting

Otra cosa que notará es la diferencia entre la cantidad de servicios que se iniciaron en Standalone (183 de 232) y el modo de dominio (207 de 255).

Otra diferencia más importante entre el modo independiente y el de dominio es el comando de inicio que se usa en el script de inicio. En modo independiente, el punto de entrada es "org.jboss.as.standalone", mientras que en el modo de dominio el punto de entrada es "org.jboss.as.process-controller". A continuación se muestra la figura que muestra la relación lógica entre diferentes procesos.

En el modo de dominio, primero iniciará el controlador de procesos y generará un nuevo proceso llamado Controlador de host. Este proceso de controlador de host será responsable de manejar múltiples servidores dentro de diferentes grupos de servidores. Otro punto que debe tenerse en cuenta es que cada servidor tendrá su propio proceso JVM.

¡Eso es todo por ahora! En nuestro próximo artículo, mostraremos diferentes formas de realizar implementaciones en WildFly. Hasta entonces, permanezca atento y conectado a Tecmint y no olvide dar sus valiosos comentarios en nuestra sección de comentarios a continuación.