Zoeken op website

WildFly (JBoss-toepassingsserver) Basisconcepten


In onze laatste twee artikelen hebben we de WildFly-installatie doorlopen en vervolgens de server beheerd met behulp van de GUI-versie van CLI. Vandaag bespreken we de basisconcepten of kun je termen uitspreken die binnen WildFly worden gebruikt. U kunt onze laatst gepubliceerde artikelen bekijken op.

  1. WildFly – Een nieuwe verbeterde JBoss Application Server-installatie
  2. Beheer de WildFly-server (JBoss AS) met behulp van de GUI-versie van CLI

Degenen die al bekend zijn met Jboss AS, zullen zich bewust zijn van de grote verandering die is geïntroduceerd in Jboss AS 7.* en dus in WildFly. De verandering was het modulaire ontwerp, wat betekent dat het de klassen laadt die nodig zijn voor de toepassing in plaats van alle klassen te laden.

Hieronder staan enkele basistermen die worden gebruikt in WildFly:

Opstartmodi

Wildfly heeft nieuwe opstartmodi geïntroduceerd. Er worden twee bedieningsmodi gebruikt om alle serverbewerkingen te beheren.

  1. Zelfstandige modus
  2. Domeinmodus

Beide modi worden afgehandeld door de twee verschillende scripts die worden aangeboden in de map “bin” van de WildFly-installatie.

[root@tecmint bin]# ll -m1 standalone.sh domain.sh

domain.sh
standalone.sh

Standalone-modus

In eerdere versie van Jboss AS 7.* d.w.z. Jboss Applicatie Server 3, 4, 5< of 6, alle actieve jboss-instanties hebben hun eigen individuele proces. Elke instantie heeft zijn eigen beheerdersconsole en andere functies om deze te besturen.

Op een vergelijkbare manier werkt de standalone-modus. We kunnen een stand-alone server starten met behulp van het “standalone.sh”-script en verschillende parameters doorgeven volgens de vereisten. We kunnen zoveel instances starten als we willen (ze hadden allemaal geconfigureerd moeten zijn om op verschillende poorten te draaien).

We kunnen ook verschillende HA clusters vormen zoals we deden met eerdere versies, d.w.z. 4, 5 of 6.

WildFly starten in de standalone-modus

Ga naar de map $JBOSS_HOME/bin en start het script standalone.sh vanuit de terminal, zoals hieronder weergegeven. Als we geen parameter opgeven, wordt deze standaard gebonden aan het loopback-adres en wordt het bestand standalone.xml gebruikt.

[root@tecmint bin]# ./standalone.sh
Voorbeelduitvoer
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

Opmerking: u kunt de optie –b [IP] gebruiken om de server met een ander IP-adres te starten en een ander configuratiebestand te laden -c [naam configuratiebestand].

Domeinmodus

Dit is een nieuw concept dat wordt geïntroduceerd in AS-7.*. Met deze nieuwe functie in WildFly-8 kunnen we verschillende instanties vanaf één punt beheren. Dit helpt ons echt om ons te beperken tot één controlepunt in plaats van meerdere zelfstandige servers te beheren.

Alle servers die door Domain worden beheerd, staan bekend als leden van het domein. Alle leden van het domein kunnen dezelfde configuratie/implementaties delen. Dit is erg handig en nuttig voor een clusteromgeving.

In de domeinmodus kunnen we een servergroep maken en vervolgens een aantal servers aan die groep toevoegen. Hiermee wordt, wat we ook doen op deze servergroep, alles gerepliceerd naar elke server in servergroepen.

WildFly starten in de domeinmodus

Ga naar de map $JBOSS_HOME/bin en start het script domain.sh vanuit de terminal, zoals hieronder weergegeven.

[root@tecmint bin]# ./domain.sh
Voorbeelduitvoer
=========================================================================

  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

Iets anders dat je zult opmerken is het verschil tussen het aantal services dat in Standalone is gestart (183 uit 0f 232) en de domeinmodus (207 van 255).

Een ander belangrijk verschil tussen de Standalone- en Domein-modus is de opstartopdracht die wordt gebruikt in het opstartscript. In standalone is het toegangspunt “org.jboss.as.standalone”, terwijl in de domeinmodus het toegangspunt “org.jboss.as.process-controller” is. Hieronder ziet u de figuur die de logische relatie tussen verschillende processen laat zien.

In de domeinmodus zal het eerst de procescontroller starten en een nieuw proces voortbrengen met de naam Hostcontroller. Dit Host Controller-proces is verantwoordelijk voor het verwerken van meerdere servers binnen verschillende servergroepen. Een ander punt dat moet worden opgemerkt, is dat elke server zijn eigen JVM-proces zal hebben.

Dat is alles voor nu! In ons komende artikel zullen we verschillende manieren laten zien om implementaties in WildFly uit te voeren. Blijf dan op de hoogte en verbonden met Tecmint en vergeet niet uw waardevolle feedback te geven in onze commentaarsectie hieronder.