Wyszukiwanie w witrynie

Podstawowe pojęcia WildFly (serwer aplikacji JBoss).


W naszych ostatnich dwóch artykułach przeszliśmy przez instalację WildFly, a następnie zarządzanie serwerem przy użyciu GUI wersji CLI. Dzisiaj omówimy podstawowe pojęcia lub możesz powiedzieć terminy używane w WildFly. Możesz przeglądać nasze ostatnio opublikowane artykuły na stronie.

  1. WildFly – nowa, ulepszona instalacja serwera aplikacji JBoss
  2. Zarządzaj serwerem WildFly (JBoss AS) za pomocą wersji CLI z graficznym interfejsem użytkownika

Ci, którzy znają już Jboss AS, będą świadomi dużej zmiany wprowadzonej do Jboss AS 7.*, a co za tym idzie do WildFly. Zmiana dotyczyła konstrukcji modułowej, co oznacza, że zamiast ładować wszystkie klasy, załaduje ona klasy potrzebne aplikacji.

Poniżej znajdują się niektóre podstawowe terminy używane w WildFly:

Tryby uruchamiania

Wildfly wprowadziło nowe tryby uruchamiania. Posiada dwa tryby działania służące do zarządzania wszystkimi operacjami serwera.

  1. Tryb autonomiczny
  2. Tryb domeny

Oba te tryby są obsługiwane przez dwa różne skrypty znajdujące się w katalogu „bin” instalacji WildFly.

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

domain.sh
standalone.sh

Tryb samodzielny

W poprzedniej wersji Jboss AS 7.*, tj. Jboss Application Server 3, 4, 5< lub 6, wszystkie działające instancje jboss mają swój indywidualny proces. Każda instancja będzie miała własną konsolę administracyjną i inne funkcje umożliwiające jej kontrolowanie.

W bardzo podobny sposób działa tryb autonomiczny. Możemy uruchomić samodzielny serwer za pomocą skryptu „standalone.sh” i przekazania różnych parametrów zgodnie z wymaganiami. Możemy uruchomić dowolną liczbę instancji (wszystkie powinny być skonfigurowane do działania na różnych portach).

Możemy również tworzyć różne klastry HA, tak jak robiliśmy to w przypadku wcześniejszej wersji, tj. 4, 5 lub 6.

Uruchamianie WildFly w trybie autonomicznym

Przejdź do katalogu $JBOSS_HOME/bin i uruchom skrypt standalone.sh z terminala, jak pokazano poniżej. Jeśli nie określimy żadnego parametru, to domyślnie zostanie on powiązany z adresem pętli zwrotnej i użyje pliku standalone.xml.

[root@tecmint bin]# ./standalone.sh
Przykładowe wyjście
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

Uwaga: możesz użyć opcji –b [IP], aby uruchomić serwer z innym adresem IP i załadować inny plik konfiguracyjny, użyj -c [nazwa pliku konfiguracyjnego].

Tryb domeny

Jest to nowa koncepcja, która została wprowadzona w AS-7.*. Dzięki tej nowej funkcji w WildFly-8 możemy zarządzać różnymi instancjami z jednego miejsca. To naprawdę pomaga nam ograniczyć się do jednego punktu kontrolnego, zamiast zarządzać wieloma samodzielnymi serwerami.

Wszystkie serwery zarządzane przez domenę są nazywane członkami domeny. Wszyscy członkowie domeny mogą współużytkować tę samą konfigurację/wdrożenie. Jest to naprawdę przydatne i pomocne w środowisku klastrowym.

W trybie domeny możemy utworzyć grupę serwerów, a następnie dodać liczbę serwerów do tej grupy. Dzięki temu cokolwiek zrobimy w tej grupie serwerów, wszystko zostanie zreplikowane na każdym serwerze w grupach serwerów.

Uruchamianie WildFly w trybie domeny

Przejdź do katalogu $JBOSS_HOME/bin i uruchom skrypt domain.sh z terminala, jak pokazano poniżej.

[root@tecmint bin]# ./domain.sh
Przykładowe wyjście
=========================================================================

  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

Kolejną rzeczą jest to, że zauważysz różnicę pomiędzy liczbą usług uruchomionych w trybie Standalone (183 z 0f 232) i w trybie domeny (207 z 255).

Kolejną najważniejszą różnicą pomiędzy trybem samodzielnym a trybem domeny jest polecenie uruchamiania używane w skrypcie startowym. W trybie autonomicznym punktem wejścia jest „org.jboss.as.standalone”, podczas gdy w trybie domeny punktem wejścia jest „org.jboss.as.process-controller”. Poniżej znajduje się rysunek przedstawiający logiczne powiązania pomiędzy różnymi procesami.

W trybie domeny najpierw uruchomi kontroler procesu i uruchomi nowy proces o nazwie Kontroler hosta. Ten proces Kontrolera hosta będzie odpowiedzialny za obsługę wielu serwerów w różnych grupach serwerów. Kolejna kwestia, na którą należy zwrócić uwagę, to fakt, że każdy serwer będzie miał swój własny proces JVM.

To wszystko na teraz! W naszym nadchodzącym artykule pokażemy różne sposoby przeprowadzania wdrożeń w WildFly. Do tego czasu bądź na bieżąco i połącz się z Tecmint i nie zapomnij podzielić się cennymi opiniami w naszej sekcji komentarzy poniżej.