WildFly (JBoss Uygulama Sunucusu) Temel Kavramlar


Son iki makalemizde WildFly Kurulumunu ve ardından CLI'nin GUI sürümünü kullanarak sunucuyu yönetmeyi anlatmıştık. Bugün temel kavramları tartışacağız veya WildFly'da kullanılan terimleri söyleyebilirsiniz. Son yayınlanan yazılarımıza adresinden ulaşabilirsiniz.

  1. WildFly – Yeni Bir Geliştirilmiş JBoss Uygulama Sunucusu Kurulumu
  2. CLI'nin GUI sürümünü kullanarak WildFly (JBoss AS) Sunucusunu Yönetme

Jboss AS'e zaten aşina olanlar, Jboss AS 7.*'ye ve dolayısıyla WildFly'a getirilen büyük değişikliğin farkında olacaktır. Değişiklik modüler tasarımdı; bu, tüm sınıfları yüklemek yerine uygulamanın ihtiyaç duyduğu sınıfları yükleyeceği anlamına geliyor.

Aşağıda WildFly'da kullanılan temel terimlerden bazıları verilmiştir:

Başlangıç Modları

Wildfly yeni başlatma modlarını tanıttı. Tüm sunucu işlemlerini yönetmek için kullanılan iki işlem modu vardır.

  1. Bağımsız Mod
  2. Etki Alanı Modu

Bu modların her ikisi de WildFly kurulumunun “bin” dizini içinde sağlanan iki farklı komut dosyası tarafından yönetilir.

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

domain.sh
standalone.sh

Bağımsız Mod

Jboss AS 7.*'nin önceki sürümünde, yani Jboss Uygulama Sunucusu 3, 4, 5< veya 6, çalışan tüm jboss örneklerinin kendi bireysel süreçleri vardır. Her örneğin kendi yönetici konsolu ve bunu kontrol etmek için başka işlevleri olacaktır.

Bağımsız mod da benzer şekilde çalışır. “standalone.sh” betiğini kullanarak ve gereksinimlere göre farklı parametreler geçirerek bağımsız sunucuyu başlatabiliriz. İstediğimiz kadar bulut sunucusu başlatabiliriz (hepsi farklı bağlantı noktalarında çalışacak şekilde yapılandırılmış olmalıdır).

Ayrıca önceki sürümde yaptığımız gibi farklı HA kümeleri de oluşturabiliriz (ör. 4, 5 veya 6).

WildFly'ı Bağımsız Modda Başlatma

$JBOSS_HOME/bin dizinine gidin ve aşağıda gösterildiği gibi terminalden standalone.sh komut dosyasını başlatın. Herhangi bir parametre belirtmezsek, varsayılan olarak geridöngü adresine bağlanacak ve standalone.xml dosyasını kullanacaktır.

[root@tecmint bin]# ./standalone.sh
Örnek Çıktı
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

Not : Sunucuyu başka bir IP ile başlatmak ve başka bir yapılandırma dosyası yüklemek için –b [IP] seçeneğini kullanabilirsiniz. -c [yapılandırma dosyası adı].

Etki Alanı Modu

Bu, AS-7.*'de tanıtılan yeni bir kavramdır. WildFly-8'deki bu yeni özellik sayesinde farklı örnekleri tek noktadan yönetebiliyoruz. Bu, birden fazla bağımsız sunucuyu yönetmek yerine tek bir kontrol noktasına küçülmemize gerçekten yardımcı oluyor.

Domain tarafından yönetilen tüm sunucular, alan adı üyeleri olarak bilinir. Etki alanının tüm üyeleri aynı yapılandırmayı/dağıtımları paylaşabilir. Bu, kümeleme ortamı için gerçekten kullanışlı ve faydalıdır.

Etki Alanı modunda bir sunucu grubu oluşturabilir ve daha sonra bu gruba çok sayıda sunucu ekleyebiliriz. Bununla birlikte, bu Sunucu Grubunda ne yaparsak yapalım, her şey Sunucu Gruplarındaki her sunucuya kopyalanacaktır.

WildFly'ı Etki Alanı Modunda Başlatma

$JBOSS_HOME/bin dizinine gidin ve aşağıda gösterildiği gibi terminalden domain.sh betiğini başlatın.

[root@tecmint bin]# ./domain.sh
Örnek Çıktı
=========================================================================

  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

Bağımsız modda (183 0f 232) ve Etki Alanı modunda (207) başlatılan hizmet sayısı arasındaki farkı fark edeceksiniz. 255 üzerinden).

Bağımsız ile Etki Alanı Modu arasındaki en önemli farklardan bir diğeri, başlangıç komut dosyasında kullanılan başlatma komutudur. Bağımsız modda giriş noktası “org.jboss.as.standalone” iken etki alanı modunda giriş noktası “org.jboss.as.process-controller” şeklindedir. Aşağıda farklı süreçler arasındaki mantıksal ilişkiyi gösteren şekil bulunmaktadır.

Etki alanı modunda, önce işlem denetleyicisini başlatır ve Ana Bilgisayar Denetleyicisi adı verilen yeni bir işlemi başlatır. Bu Ana Bilgisayar Denetleyicisi işlemi, farklı sunucu grupları içindeki birden fazla sunucunun yönetilmesinden sorumlu olacaktır. Dikkat edilmesi gereken bir diğer nokta ise her Sunucunun kendine ait JVM süreci olacaktır.

Şimdilik bu kadar! Gelecek makalemizde WildFly'da dağıtım yapmanın farklı yollarını göstereceğiz. O zamana kadar Tecmint'i takip etmeye ve bağlantıda kalmaya devam edin ve aşağıdaki yorum bölümümüze değerli geri bildirimlerinizi vermeyi unutmayın.