网站搜索

WildFly(JBoss应用服务器)基本概念


在我们的前两篇文章中,我们完成了WildFly安装,然后使用GUI版本的CLI管理服务器。今天,我们将讨论基本概念,或者您可以说出 WildFly 中使用的术语。您可以浏览我们最近发表的文章:

  1. WildFly – 全新改进的 JBoss 应用服务器安装
  2. 使用 GUI 版本的 CLI 管理 WildFly (JBoss AS) 服务器

那些已经熟悉 Jboss AS 的人将会意识到 Jboss AS 7.* 以及 WildFly 中引入的重大变化。变化是模块化设计,意味着它将加载应用程序所需的类,而不是加载所有类。

以下是 WildFly 中使用的一些基本术语:

启动模式

Wildfly 引入了新的启动模式。它有两种操作模式,用于管理所有服务器操作。

  1. 独立模式
  2. 域模式

这两种模式均由 WildFly 安装的“bin”目录中提供的两个不同脚本处理。

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

domain.sh
standalone.sh

独立模式

在之前版本的 Jboss AS 7.* 中,即 Jboss 应用程序 服务器 345<6,所有正在运行的 jboss 实例都有自己的进程。每个实例都有自己的管理控制台和其他控制功能。

独立模式的工作方式非常相似。我们可以使用“standalone.sh”脚本启动独立服务器,并根据要求传递不同的参数。我们可以启动任意数量的实例(所有实例都应配置为在不同端口上运行)。

我们还可以形成不同的 HA 集群,就像我们在早期版本中所做的那样,即 456

以独立模式启动 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 中的这一新功能,我们可以从一个点管理不同的实例。这确实有助于我们缩小到一个控制点,而不是管理多个独立服务器。

域管理的所有服务器都称为域成员。域的所有成员可以共享相同的配置/部署。这对于集群环境来说非常方便和有帮助。

在域模式下,我们可以创建一个服务器组,然后可以向该组添加许多服务器。这样,无论我们在此服务器组上做什么,所有内容都将被复制到服务器组中的每个服务器。

在域模式下启动 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

另一件事情,您会注意到在独立模式下启动的服务数量(183 out 0f 232)和域模式(207)之间的差异共255)。

独立模式之间的另一个最重要的区别是启动脚本中使用的启动命令。在独立模式下,入口点是“org.jboss.as.standalone”,而在域模式下,入口点是“org.jboss.as.process-controller”。下图展示了不同进程之间的逻辑关系。

在域模式下,首先它将启动进程控制器并生成一个名为主机控制器的新进程。这个主机控制器进程将负责处理不同服务器组中的多个服务器。还有一点需要注意的是,每个Server都会有自己的JVM进程。

现在就这些了!在我们即将发表的文章中,我们将展示在 WildFly 中进行部署的不同方法。直到那时,请继续关注并连接到 Tecmint,并且不要忘记在下面的评论部分中提供您宝贵的反馈。