jboss eap 6 提供了兩種操作模式:standalone(獨(dú)立服務(wù)模式) 和managed domain(受管域).兩種模式的主要區(qū)別在于對(duì)服務(wù)器的管理作烟,而不是它們?yōu)闈M(mǎn)足最終用戶(hù)請(qǐng)求而提供的功能。
Domain 模式
domain 模式是通過(guò)單個(gè)控制點(diǎn)來(lái)管理多個(gè) jboss eap 6 實(shí)例的模式侧到。集中管理的jboss eap 6 服務(wù)器集合被稱(chēng)作域的成員伟叛,域里所有的jboss eap 6 實(shí)例共享一個(gè)公共的管理策略,以及配置脐嫂。
所有的jboss server 可以劃分成不同的 server group(服務(wù)器組)统刮,每個(gè)server group可以包含若干 jboss server,在所有這些server中账千,指定一個(gè)作為主控制器侥蒙,及 master server,其他的作為 slave server匀奏。
環(huán)境準(zhǔn)備
windows7
jboss eap 6
兩臺(tái)機(jī)器 172.21.0.201 作為 master server鞭衩,172.21.0.57 作為 slave server
安裝jboss
兩臺(tái)機(jī)器分別安裝 jboss eap 6,任意目錄即可娃善。下載地址
下面用 jboss_home="D:\Java\jboss-eap-6.3"
代替jboss 安裝目錄
master server 配置
修改host.xml
打開(kāi) "jboss_home\domain\configuration"
中的 host.xml
<interfaces>
<interface name="management">
<inet-address value="${jboss.bind.address.management:172.21.0.201}"/>
</interface>
<interface name="public">
<inet-address value="${jboss.bind.address:172.21.0.201}"/>
</interface>
<interface name="unsecure">
<inet-address value="${jboss.bind.address.unsecure:172.21.0.201}"/>
</interface>
</interfaces>
將其中的 127.0.0.1
替換成機(jī)器真是 ip论衍,否則遠(yuǎn)程機(jī)器無(wú)法通過(guò)瀏覽器訪(fǎng)問(wèn)jboss 控制臺(tái)
jboss_home\bin\domain.bat
以domain 模式啟動(dòng) jboss
進(jìn)入控制臺(tái) http://172.21.0.201:9990/console
首次進(jìn)入會(huì)提示輸入用戶(hù)名密碼,需要先創(chuàng)建一下聚磺,進(jìn)入 jboss_home\bin\add-user.bat
根據(jù)提示創(chuàng)建賬號(hào)密碼坯台。
創(chuàng)建 Group和Server
在控制臺(tái)的 Domain Tab 頁(yè),可以看到默認(rèn)的一些 group和server瘫寝,先全部remove掉蜒蕾,然后創(chuàng)建自己的group 和server 如圖
如果server 無(wú)法romve稠炬,可能是該server處于 started狀態(tài),需要先停掉咪啡,參考下圖
創(chuàng)建server group 和server
創(chuàng)建的時(shí)候會(huì)有個(gè) Port Offset
首启,即端口偏移量,默認(rèn)端口是 8080
,比如這里設(shè)置成 1
,那么訪(fǎng)問(wèn)的時(shí)候 端口號(hào)就是 8081
Slave Server 配置
切換到Slave 機(jī)器(172.21.0.57) 進(jìn)入 jboss domain 配置目錄 jboss_home\domain\configuration
修改host.xml
修改host.xml,現(xiàn)將原來(lái)的host.xml 和 host-slave.xml 改名備份撤摸,再將host-slave.xml 改名為 host.xml毅桃,打開(kāi) host.xml
<management-interfaces>
<native-interface security-realm="ManagementRealm">
<!-- modify port or conflict with master port-->
<socket interface="management" port="${jboss.management.native.port:9099}"/>
</native-interface>
</management-interfaces>
修改其中的端口,改成其他不用的端口愁溜,不能與master server 的端口相同疾嗅,否則會(huì)起沖突報(bào)錯(cuò)。
<domain-controller>
<remote host="${jboss.domain.master.address:172.21.0.201}" port="${jboss.domain.master.port:9999}" security-realm="ManagementRealm"/>
</domain-controller>
將其中連接 master的地址改為 master server 的真實(shí) ip冕象,本文為 172.21.0.201
<interfaces>
<interface name="management">
<inet-address value="${jboss.bind.address.management:0.0.0.0}"/>
</interface>
<interface name="public">
<inet-address value="${jboss.bind.address:0.0.0.0}"/>
</interface>
<interface name="unsecure">
<!-- Used for IIOP sockets in the standard configuration.
To secure JacORB you need to setup SSL -->
<inet-address value="${jboss.bind.address.unsecure:0.0.0.0}"/>
</interface>
</interfaces>
將原先的 127.0.0.1
修改為0.0.0.0
或者本機(jī)真是IP
<servers>
<server name="slave-server-one" group="my-group-one">
<socket-bindings port-offset="2"/>
</server>
<server name="slave-server-two" group="my-group-two">
<!-- server-two avoids port conflicts by incrementing the ports in
the default socket-group declared in the server-group -->
<socket-bindings port-offset="3"/>
</server>
</servers>
手動(dòng)給Slave Server 創(chuàng)建兩個(gè)Server代承,并且指定group,group為master server上已經(jīng)創(chuàng)建好的渐扮,同樣指定port-offeset
最后給 Slave server 添加個(gè)名字论悴,以便在 master server 控制臺(tái)顯示,如下
<host name="slave57" xmlns="urn:jboss:domain:1.6">
安全認(rèn)證配置
切回到master server上墓律,通過(guò) jboss_home\bin\add-user.bat
添加一個(gè)名為 slave57
的管理員帳號(hào)膀估,記住最后生成 密鑰,如下圖
再切回到 slave server上耻讽,將剛才的密鑰添加到 host.xml 中 如下
<server-identities>
<!-- Replace this with either a base64 password of your own, or use a vault with a vault expression -->
<secret value="d2VibG9naWMxMjMh"/>
</server-identities>
好了察纯,配置完了,依次以 domain 模式啟動(dòng) master针肥、slave 上的jboss饼记,不出意外會(huì)在master 控制臺(tái)看到名為 slave57
的 slave server
應(yīng)用部署
部署一個(gè)最簡(jiǎn)單 hello world 例子試試,如圖
將打包好的 war包上傳慰枕,然后分配(assign)到任意一個(gè) group即可具则,不出意外,通過(guò)相關(guān) server group 下的 jboss server 就都可以訪(fǎng)問(wèn)了具帮。本例中 兩個(gè)group博肋,6個(gè)server,如圖
這樣可以通過(guò)6個(gè)url都可以訪(fǎng)問(wèn)
- 172.21.0.57:8083/gotimp/
- 172.21.0.57:8082/gotimp/
- 172.21.0.201:8084/gotimp/
- 172.21.0.201:8083/gotimp/
- 172.21.0.201:8082/gotimp/
- 172.21.0.201:8081/gotimp/
總結(jié)
Domain模式的主要目的是使得多臺(tái)jboss服務(wù)器的配置可以集中于一點(diǎn),統(tǒng)一配置蜂厅、統(tǒng)一部署匪凡。不同于群集(Cluster),群集的目標(biāo)是讓多臺(tái)服務(wù)器分?jǐn)倝毫Γ?dāng)一臺(tái)或多臺(tái)服務(wù)器當(dāng)機(jī)時(shí)掘猿,服務(wù)可以繼續(xù)保持運(yùn)轉(zhuǎn)锹雏。