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