Website-Suche

Grundkonzepte von WildFly (JBoss Application Server).


In unseren letzten beiden Artikeln haben wir die Installation von WildFly und die anschließende Serververwaltung mithilfe der GUI-Version von CLI beschrieben. Heute besprechen wir die grundlegenden Konzepte bzw. Begriffe, die in WildFly verwendet werden. Unsere zuletzt veröffentlichten Artikel finden Sie unter.

  1. WildFly – Eine neue verbesserte JBoss-Anwendungsserverinstallation
  2. Verwalten Sie den WildFly-Server (JBoss AS) mithilfe der GUI-Version der CLI

Diejenigen, die bereits mit Jboss AS vertraut sind, werden sich der großen Änderung bewusst sein, die mit Jboss AS 7.* und damit WildFly eingeführt wurde. Die Änderung betraf das modulare Design, was bedeutet, dass die von der Anwendung benötigten Klassen geladen werden, anstatt alle Klassen zu laden.

Nachfolgend sind einige der Grundbegriffe aufgeführt, die in WildFly verwendet werden:

Startmodi

Wildfly hat neue Startmodi eingeführt. Es werden zwei Betriebsmodi verwendet, mit denen alle Servervorgänge verwaltet werden.

  1. Standalone-Modus
  2. Domänenmodus

Beide Modi werden von den beiden verschiedenen Skripten verwaltet, die im Verzeichnis „bin“ der WildFly-Installation bereitgestellt werden.

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

domain.sh
standalone.sh

Standalone-Modus

In früheren Versionen von Jboss AS 7.*, d. h. Jboss Application Server 3, 4, 5< oder 6, alle laufenden JBoss-Instanzen haben ihren individuellen Prozess. Jede Instanz verfügt über eine eigene Admin-Konsole und andere Funktionen zur Steuerung derselben.

Ganz ähnlich funktioniert der Standalone-Modus. Wir können einen eigenständigen Server mit dem Skript „standalone.sh“ starten und je nach Bedarf verschiedene Parameter übergeben. Wir können so viele Instanzen starten, wie wir möchten (alle sollten für die Ausführung auf unterschiedlichen Ports konfiguriert sein).

Wir können auch verschiedene HA-Cluster bilden, wie wir es mit früheren Versionen gemacht haben, d. h. 4, 5 oder 6.

WildFly im Standalone-Modus starten

Wechseln Sie in das Verzeichnis $JBOSS_HOME/bin und starten Sie das Skript standalone.sh vom Terminal aus, wie unten gezeigt. Wenn wir keinen Parameter angeben, wird er standardmäßig an die Loopback-Adresse gebunden und verwendet die Datei standalone.xml.

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

Hinweis: Sie können die Option –b [IP] verwenden, um den Server mit einer anderen IP zu starten und eine andere Konfigurationsdatei zu laden > -c [Name der Konfigurationsdatei].

Domänenmodus

Dies ist ein neues Konzept, das in AS-7.* eingeführt wird. Mit dieser neuen Funktion in WildFly-8 können wir verschiedene Instanzen von einem einzigen Punkt aus verwalten. Dies hilft uns wirklich dabei, uns auf einen Kontrollpunkt zu beschränken, anstatt mehrere eigenständige Server verwalten zu müssen.

Alle von der Domäne verwalteten Server werden als Mitglieder der Domäne bezeichnet. Alle Mitglieder der Domäne können dieselben Konfigurationen/Bereitstellungen gemeinsam nutzen. Dies ist sehr praktisch und hilfreich für Clustering-Umgebungen.

Im Domänenmodus können wir eine Servergruppe erstellen und dieser Gruppe dann eine Reihe von Servern hinzufügen. Was auch immer wir auf dieser Servergruppe tun, alles wird auf jeden Server in den Servergruppen repliziert.

WildFly im Domänenmodus starten

Wechseln Sie in das Verzeichnis $JBOSS_HOME/bin und starten Sie das Skript domain.sh vom Terminal aus, wie unten gezeigt.

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

  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

Außerdem werden Sie den Unterschied zwischen der Anzahl der Dienste bemerken, die im Standalone-Modus (183 von 232) und im Domänenmodus (207) gestartet wurden von 255).

Ein weiterer wichtiger Unterschied zwischen dem Standalone- und dem Domänen-Modus ist der im Startskript verwendete Startbefehl. Im Standalone-Modus ist der Einstiegspunkt „org.jboss.as.standalone“, während der Einstiegspunkt im Domänenmodus „org.jboss.as.process-controller“ ist. Unten sehen Sie die Abbildung, die die logische Beziehung zwischen verschiedenen Prozessen zeigt.

Im Domänenmodus wird zunächst der Prozesscontroller gestartet und ein neuer Prozess namens Host Controller erzeugt. Dieser Host-Controller-Prozess ist für die Verwaltung mehrerer Server innerhalb verschiedener Servergruppen verantwortlich. Ein weiterer zu beachtender Punkt ist, dass jeder Server über einen eigenen JVM-Prozess verfügt.

Das ist alles für jetzt! In unserem kommenden Artikel werden wir verschiedene Möglichkeiten der Bereitstellung in WildFly zeigen. Bleiben Sie bis dahin auf dem Laufenden und bleiben Sie mit Tecmint in Verbindung. Vergessen Sie nicht, Ihr wertvolles Feedback in unserem Kommentarbereich unten abzugeben.