JBoss AS7 可实现为云做好准备的架构,并可使启动时间缩短十倍,提供更快的部署速度并降低内在的占用。JBoss Enterprise Application Platform 6 的核心是JBoss Application Server 7 的最新版本,该版本代表着 Java 应用服务器在从复杂和单一的形式转向更加轻便、模块化和敏捷的变革过程中的一个意义重大的里程碑。
JBoss AS7 新加入了域(domain )的概念并实现了相关功能。域的提出及实现,其目的是使得多台JBoss AS服务器的配置可以集中于一点,统一配置、统一部署,从而在管理多台JBoss AS服务器时,实现集中管理。
JBoss7中有两种启动方式:standalone和domain。
在启动domain的时候,会在系统中启动5个进程:3个JBoss AS Server的实例;1个Domain Controller(Domain控制器)进程,这个进程用来集中控制所有属于这个"domain"的server;和一个轻量的Process Controller,负责管理其他的4个进程并监听它们的生命周期。
采用standalone模式会在系统中启动一个进程, 一个单个的 JBoss AS server 的实例。
AS 7一个重要的特性是,Domain Mode能够从单个的控制点管理多个 AS 的实例。这样的一组Server作为一个 "domain"的成员,由Domain Controller进程统一管理。Domain可以跨越多个物理或虚拟主机,一台机器上的所有 AS 实例由 Host Controller 进程负责控制。Host Controller和 Domain Controller 进行交互来控制该机器上的 AS 进程,并且协助Domain Controller对它们进行管理。
当你将JBoss AS启动为 "domain mode"(通过domain.sh或者domain.bat),你实际上启动了一个 Domain Controller,一个 Host Controller以及通常至少一个 AS 实例。
如果单个Server不需要从Domain Mode中获得任何东西,那么standalone mode是更好的选择。
对于多Server的产品环境,选择Domain Mode还是Standalone Mode归结为用户是否想要使用Domain Mode提供的中心管理能力。一些企业已经开发他们自己的经过考验的多Server管理能力并且能够舒服的统一对多个JBoss AS 实例做修改,对于这些企业,一个有单个standalone mode AS 实例组成的多server架构仍然是一个好的选择。
在开发阶段,Standalone Mode 会更合适。通常,对于embedding JBoss AS没有Domain Mode;比如:运行在Arquillian-based 的测试套件过程中。在 Domain Mode中能够完成的任何单个Server的配置同样也能在Standalone Mode中配完成,所以,即使正在开发的应用最终要运行在Domain Mode下,大多数的开发工作仍能在Standalone Mode下完成。
Domain mode在一些高级开发场景下会有用;比如:对于那些需要在多个AS实例之间进行交互的操作。开发人员可能会发现将多个server设置成domain的成员是一个有效的方法来启动多server集群。