Conceptos básicos de WildFly (servidor de aplicaciones JBoss)
En nuestros dos últimos artículos, analizamos la instalación de WildFly y luego administramos el servidor usando la versión GUI de CLI. Hoy, discutiremos los conceptos básicos o, mejor dicho, los términos utilizados en WildFly. Puedes consultar nuestros últimos artículos publicados en.
- WildFly: una nueva instalación mejorada del servidor de aplicaciones JBoss
- Administre el servidor WildFly (JBoss AS) usando 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 tanto, en WildFly. El cambio fue el diseño modular, lo que significa que cargará las clases necesarias por aplicación en lugar de cargar todas las clases.
A continuación se detallan 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 utilizados: administrar todas las operaciones del servidor.
- Modo independiente
- Modo Dominio
Ambos modos son manejados por dos scripts diferentes proporcionados dentro del directorio "bin" de la instalación de WildFly.
[root@tecmint bin]# ll -m1 standalone.sh domain.sh
domain.sh
standalone.sh
Modo independiente
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 independiente. Podemos iniciar un servidor independiente utilizando el script "standalone.sh" y pasando diferentes parámetros según los requisitos. Podemos lanzar tantas instancias como queramos (todas deberían haber sido configuradas para ejecutarse en diferentes puertos).
También podemos formar diferentes clústeres HA como lo hacíamos con la versión anterior, es decir, 4, 5 o 6.
Iniciar WildFly en modo independiente
Vaya al directorio $JBOSS_HOME/bin e inicie el script standalone.sh desde la terminal como se muestra a continuación. Si no especificamos ningún parámetro, de forma predeterminada se vinculará a la dirección de bucle invertido y utilizará el archivo standalone.xml.
[root@tecmint bin]# ./standalone.sh
Salida de muestra
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 cargar algún otro archivo de configuración. -c [nombre del archivo de configuración].
Modo de dominio
Este es un nuevo concepto que se introduce en AS-7.*. Con esta nueva característica de WildFly-8 podremos gestionar diferentes instancias desde un único punto. Esto realmente nos ayuda a reducirnos a un solo punto de control en lugar de administrar múltiples servidores independientes.
Todos los servidores administrados por Dominio se conocen como miembros de dominio. Todos los miembros del dominio pueden compartir la misma configuración/implementaciones. Esto es realmente útil y útil para entornos de agrupación.
En el modo Dominio podemos crear un grupo de servidores y luego agregar varios 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.
Iniciar WildFly en modo dominio
Vaya al directorio $JBOSS_HOME/bin e inicie el script domain.sh desde la terminal como se muestra a continuación.
[root@tecmint bin]# ./domain.sh
Salida de muestra
=========================================================================
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ás es la diferencia entre la cantidad de servicios que se iniciaron en el modo Independiente (183 de 232) y en el modo Dominio (207). de 255).
Otra diferencia más importante entre el modo Independiente y Dominio es el comando de inicio utilizado 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 hay que tener 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, manténganse atentos y conectados a Tecmint y no olviden brindar sus valiosos comentarios en nuestra sección de comentarios a continuación.