WildFlyn (JBoss Application Server) peruskäsitteet


Kahdessa edellisessä artikkelissamme olimme käyneet läpi WildFly-asennuksen ja hallinnan sitten palvelinta CLI-version GUI-versiolla. Tänään keskustelemme peruskäsitteistä tai voit sanoa termejä, joita käytetään WildFlyssä. Voit käydä läpi viimeksi julkaistut artikkelimme osoitteessa.

  1. WildFly – Uusi, parannettu JBoss-sovelluspalvelimen asennus
  2. Hallitse WildFly (JBoss AS) -palvelinta CLI:n graafisen käyttöliittymän versiolla

Ne, joille Jboss AS ovat jo tuttuja, ovat tietoisia Jboss AS 7.* -versioon ja siten WildFlyyn tehdystä suuresta muutoksesta. Muutos oli modulaarinen, eli se lataa sovelluksen tarvitsemat luokat kaikkien luokkien sijaan.

Alla on joitain WildFlyssä käytettyjä perustermejä:

Käynnistystilat

Wildfly on ottanut käyttöön uusia käynnistystiloja. Siinä on kaksi toimintatapaa, jotka hallitsevat kaikkia palvelimen toimintoja.

  1. Erillinen tila
  2. Verkkotunnustila

Molempia näitä tiloja käsittelevät kaksi erilaista skriptiä, jotka ovat WildFly-asennuksen "bin" -hakemistossa.

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

domain.sh
standalone.sh

Itsenäinen tila

Aiemmassa versiossa Jboss AS 7.* eli Jboss Application Server 3, 4, 5< tai 6, kaikilla käynnissä olevilla jboss-esiintymillä on oma prosessinsa. Jokaisella esiintymällä on oma hallintakonsoli ja muita toimintoja sen hallitsemiseksi.

Hyvin samalla tavalla standalone-tila toimii. Voimme käynnistää erillisen palvelimen käyttämällä "standalone.sh"-skriptiä ja välittämällä eri parametreja vaatimusten mukaisesti. Voimme käynnistää niin monta ilmentymää kuin haluamme (kaikki olisi pitänyt määrittää toimimaan eri porteissa).

Voimme myös muodostaa erilaisia HA-klustereita kuten teimme aiemman version kanssa, eli 4, 5 tai 6.

Käynnistetään WildFly itsenäisessä tilassa

Siirry hakemistoon $JBOSS_HOME/bin ja käynnistä standalone.sh-skripti päätteestä alla kuvatulla tavalla. Jos emme määritä mitään parametria, se sidotaan oletuksena takaisinsilmukkaosoitteeseen ja käyttää standalone.xml-tiedostoa.

[root@tecmint bin]# ./standalone.sh
Näytelähtö
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

Huomaa : Voit käyttää –b [IP]-vaihtoehtoa käynnistääksesi palvelimen jollakin toisella IP-osoitteella ja ladataksesi jonkin muun konfigurointitiedoston käyttämällä > -c [määritystiedoston nimi].

Domain Mode

Tämä on uusi konsepti, joka otetaan käyttöön AS-7.* -versiossa. Tämän uuden WildFly-8-ominaisuuden avulla voimme hallita erilaisia esiintymiä yhdestä pisteestä. Tämä todella auttaa meitä kutistumaan yhteen ohjauspisteeseen useiden itsenäisten palvelimien hallinnan sijaan.

Kaikki Domainin hallinnoimat palvelimet tunnetaan verkkotunnuksen jäseninä. Kaikki verkkotunnuksen jäsenet voivat jakaa samat määritykset/käyttöönotot. Tämä on todella kätevää ja hyödyllistä klusterointiympäristössä.

Domain-tilassa voimme luoda palvelinryhmän ja lisätä siihen useita palvelimia. Mitä tahansa teemme tässä palvelinryhmässä, kaikki replikoidaan jokaiselle palvelinryhmien palvelimelle.

Käynnistetään WildFly verkkotunnustilassa

Siirry hakemistoon $JBOSS_HOME/bin ja käynnistä domain.sh-skripti päätteestä alla kuvatulla tavalla.

[root@tecmint bin]# ./domain.sh
Näytelähtö
=========================================================================

  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

Toinen asia, jonka huomaat eron itsenäisenä (183 0f 232) ja verkkotunnustilan (207) välillä./255).

Toinen tärkein ero Standalone- ja Domain-tilan välillä on käynnistyskomento, jota käytetään käynnistyskomentosarjassa. Itsenäisessä käytössä aloituspiste on "org.jboss.as.standalone", kun taas toimialuetilassa aloituspiste on "org.jboss.as.process-controller". Alla on kuva, joka esittää loogista suhdetta eri prosessien välillä.

Toimialuetilassa se käynnistää ensin prosessiohjaimen ja synnyttää uuden prosessin nimeltä Host Controller. Tämä Isäntäohjain-prosessi on vastuussa useiden palvelimien käsittelystä eri palvelinryhmissä. Toinen huomioitava seikka, että jokaisella palvelimella on oma JVM-prosessinsa.

Siinä kaikki toistaiseksi! Tulevassa artikkelissamme näytämme erilaisia tapoja ottaa käyttöön WildFlyssä. Siihen asti pysy kuulolla ja yhteydessä Tecmintiin ja älä unohda antaa arvokasta palautetta alla olevassa kommenttiosiossa.