Konsep Dasar WildFly (Server Aplikasi JBoss).


Dalam dua artikel terakhir kami, kami telah melalui Instalasi WildFly dan kemudian mengelola server menggunakan GUI versi CLI. Hari ini, kita akan membahas konsep dasar atau istilah yang digunakan dalam WildFly. Anda dapat melihat artikel terakhir kami yang diterbitkan di.

  1. WildFly – Instalasi Server Aplikasi JBoss Baru yang Ditingkatkan
  2. Kelola Server WildFly (JBoss AS) Menggunakan CLI versi GUI

Mereka yang sudah familiar dengan Jboss AS, akan menyadari perubahan besar yang diperkenalkan pada Jboss AS 7.* dan karenanya WildFly. Perubahannya adalah desain modular, artinya akan memuat kelas-kelas yang dibutuhkan oleh aplikasi alih-alih memuat semua kelas.

Berikut adalah beberapa istilah dasar yang digunakan di WildFly:

Mode Permulaan

Wildfly telah memperkenalkan mode startup baru. Ini memiliki dua mode operasi yang digunakan yaitu mengelola semua operasi server.

  1. Mode Mandiri
  2. Mode Domain

Kedua mode ini ditangani oleh dua skrip berbeda yang disediakan dalam direktori “bin” pada instalasi WildFly.

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

domain.sh
standalone.sh

Modus Mandiri

Dalam versi sebelumnya Jboss AS 7.* yaitu Aplikasi Jboss Server 3, 4, 5< atau 6, semua instance jboss yang berjalan memiliki proses masing-masing. Setiap instance akan memiliki konsol adminnya sendiri dan fungsi lain untuk mengontrolnya.

Dengan cara kerja mode mandiri yang sangat mirip. Kami dapat meluncurkan server mandiri menggunakan skrip “standalone.sh” dan meneruskan parameter berbeda sesuai kebutuhan. Kita dapat meluncurkan instance sebanyak yang kita inginkan (semuanya harus dikonfigurasi untuk dijalankan pada port yang berbeda).

Kita juga dapat membentuk cluster HA yang berbeda seperti yang kita lakukan dengan versi sebelumnya yaitu 4, 5 atau 6.

Memulai WildFly dalam Mode Mandiri

Pindah ke direktori $JBOSS_HOME/bin dan luncurkan skrip standalone.sh dari terminal seperti yang ditunjukkan di bawah ini. Jika kita tidak menentukan parameter apa pun, maka secara default parameter tersebut akan terikat ke alamat loopback dan menggunakan file standalone.xml.

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

Catatan : Anda dapat menggunakan opsi –b [IP] untuk memulai server dengan beberapa IP lain dan memuat beberapa file konfigurasi lain menggunakan -c [nama file konfigurasi].

Modus Domain

Ini adalah konsep baru yang diperkenalkan di AS-7.* . Dengan fitur baru di WildFly-8, kami dapat mengelola berbagai instance dari satu titik. Ini sangat membantu kami untuk memperkecil menjadi satu titik kontrol dibandingkan mengelola beberapa server yang berdiri sendiri.

Semua server yang dikelola oleh Domain dikenal sebagai anggota domain. Semua anggota domain dapat berbagi konfigurasi/penerapan yang sama. Ini sangat berguna dan bermanfaat untuk lingkungan pengelompokan.

Dalam mode Domain kita dapat membuat grup server dan kemudian menambahkan jumlah server ke grup tersebut. Dengan apa pun yang kita lakukan di Grup Server ini, semuanya akan direplikasi ke setiap server di Grup Server.

Memulai WildFly dalam Mode Domain

Pindah ke direktori $JBOSS_HOME/bin dan luncurkan skrip domain.sh dari terminal seperti yang ditunjukkan di bawah ini.

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

  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

Hal lain yang akan Anda perhatikan adalah perbedaan antara jumlah layanan yang dimulai dalam mode Standalone (183 dari 232) dan mode Domain (207 dari 255).

Perbedaan terpenting lainnya antara Mode Standalone dan Domain adalah perintah startup yang digunakan dalam skrip startup. Dalam mode mandiri, titik masuknya adalah “org.jboss.as.standalone ” sedangkan dalam mode domain, titik masuknya adalah “org.jboss.as.process-controller ”. Di bawah ini adalah gambar yang menunjukkan hubungan logis antara berbagai proses.

Dalam mode domain, pertama-tama ia akan memulai pengontrol proses dan memunculkan proses baru yang disebut Pengontrol Host. Proses Pengontrol Host ini akan bertanggung jawab untuk menangani beberapa server dalam grup server yang berbeda. Hal lain yang perlu diperhatikan adalah setiap Server akan memiliki proses JVM sendiri.

Itu saja untuk saat ini! Dalam artikel kami yang akan datang, kami akan menunjukkan cara berbeda dalam melakukan penerapan di WildFly. Sampai nanti, pantau terus dan terhubung dengan Tecmint dan jangan lupa untuk memberikan masukan Anda yang berharga di bagian komentar kami di bawah.