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 的實例。
Domain Mode 和 Standalone Mode
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集群。