ウェブサイト検索

WildFly (JBoss アプリケーション サーバー) の基本概念


過去 2 つの記事では、WildFly のインストールと、CLI GUI バージョンを使用したサーバーの管理について説明しました。今日は、WildFly 内で使用される基本概念、または用語について説明します。最後に公開された記事は、次のリンクからご覧いただけます。

  1. WildFly – 新しく改良された JBoss アプリケーション サーバーのインストール
  2. CLI の GUI バージョンを使用した WildFly (JBoss AS) サーバーの管理

すでに Jboss AS に精通している人は、Jboss AS 7.* 、つまり WildFly に導入された大きな変更に気づくでしょう。変更はモジュール設計であり、すべてのクラスをロードするのではなく、アプリケーションに必要なクラスをロードすることを意味します。

以下はWildFly で使用される基本的な用語の一部です。

起動モード

Wildfly は新しい起動モードを導入しました。すべてのサーバー操作を管理する 2 つの操作モードが使用されます。

  1. スタンドアロン モード
  2. ドメイン モード

これらのモードは両方とも、WildFly インストールの「bin」ディレクトリ内に提供される 2 つの異なるスクリプトによって処理されます。

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

domain.sh
standalone.sh

スタンドアロンモード

Jboss AS 7.* の以前のバージョン、つまり Jboss アプリケーション サーバー 345< または 6 の場合、実行中のすべての jboss インスタンスには個別のプロセスがあります。すべてのインスタンスには、独自の管理コンソールと、それを制御するためのその他の機能があります。

スタンドアロン モードも同様の方法で動作します。 「standalone.sh」スクリプトを使用し、要件に応じてさまざまなパラメータを渡すことで、スタンドアロン サーバーを起動できます。インスタンスは必要なだけ起動できます (すべてのインスタンスが異なるポートで実行されるように構成されている必要があります)。

以前のバージョンで行っていたように、異なる HA クラスター (45、または 6) を形成することもできます。

スタンドアロン モードで WildFly を起動する

以下に示すように、$JBOSS_HOME/bin ディレクトリに移動し、ターミナルから standalone.sh スクリプトを起動します。パラメータを指定しない場合、デフォルトでループバック アドレスにバインドされ、standalone.xml ファイルが使用されます。

[root@tecmint bin]# ./standalone.sh
サンプル出力
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

: –b [IP] オプションを使用すると、他の IP でサーバーを起動し、他の設定ファイルをロードできます。 > -c [設定ファイル名]。

ドメインモード

これは、AS-7.* で導入された新しい概念です。 WildFly-8 のこの新機能を使用すると、さまざまなインスタンスを 1 つのポイントから管理できます。これは、複数のスタンドアロン サーバーを管理するのではなく、1 つのコントロール ポイントに縮小するのに非常に役立ちます。

ドメインによって管理されるすべてのサーバーは、ドメインのメンバーとして知られます。ドメインのすべてのメンバーが同じ構成/展開を共有できます。これはクラスタリング環境にとって非常に便利で役に立ちます。

ドメイン モードでは、サーバー グループを作成し、そのグループに複数のサーバーを追加できます。これにより、このサーバー グループで何をしても、すべてがサーバー グループ内の各サーバーにレプリケートされます。

WildFly をドメイン モードで起動する

以下に示すように、$JBOSS_HOME/bin ディレクトリに移動し、ターミナルから domain.sh スクリプトを起動します。

[root@tecmint bin]# ./domain.sh
サンプル出力
=========================================================================

  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

もう 1 つ、スタンドアロン モードで開始されたサービスの数 (183 out 0f 232) とドメイン モード (207) の違いに気づくでしょう。 255 中)。

スタンドアロン モードとドメイン モードのもう 1 つの最も重要な違いは、起動スクリプトで使用される起動コマンドです。スタンドアロンの場合、エントリポイントは「org.jboss.as.standalone 」ですが、ドメインモードのエントリポイントは「org.jboss.as.process-controller 」です。以下は、異なるプロセス間の論理関係を示す図です。

ドメイン モードでは、まずプロセス コントローラーが起動し、ホスト コントローラーと呼ばれる新しいプロセスが生成されます。このホスト コントローラープロセスは、異なるサーバー グループ内の複数のサーバーを処理する役割を果たします。もう 1 つの注意すべき点は、各サーバーには独自のJVM プロセスがあるということです。

今のところはこれですべてです!今後の記事では、WildFly でデプロイメントを実行するさまざまな方法を紹介します。それまでは引き続き Tecmint にご注目ください。また、以下のコメント セクションに貴重なフィードバックをお寄せいただくことを忘れないでください。