WildFly(JBoss Application Server)の基本概念


最後の2つの記事では、WildFlyのインストールと、GUIバージョンのCLIを使用したサーバーの管理について説明しました。今日は、基本的な概念について説明します。または、WildFly内で使用される用語を言うこともできます。で最後に公開された記事を確認できます。

  1. WildFly – A New Improved JBoss Application Server Installation
  2. Manage WildFly (JBoss AS) Server Using GUI version of CLI

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

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

スタートアップモード

Wildflyは新しいスタートアップモードを導入しました。使用される操作には、すべてのサーバー操作の管理という2つのモードがあります。

  1. Standalone Mode
  2. Domain Mode

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

[[email protected] bin]# ll -m1 standalone.sh domain.sh

domain.sh
standalone.sh

以前のバージョンのJbossAS 7. *、つまりJboss Application Server 3、4、5、または6では、実行中のすべてのjbossインスタンスに個別のプロセスがあります。すべてのインスタンスには、独自の管理コンソールと、それを制御するための他の機能があります。

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

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

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

[[email protected] 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つのコントロールポイントに縮小することができます。

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

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

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

[[email protected] 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

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

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

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

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