一、Slave Server 配置
注意:Slave Server是在另一台机器的JBOSS上配置,master server上添加了一个为teng的用户,同时为slave Server分配了teng的用户,即slave server的机器代号为teng.
1、host.xml
进入jboss_home\domain\configuration,将原来的host.xml改名备份,然后再将host-slave.xml复制一份,并改名为host.xml
2、修改host.xml
1)
<span style="font-size:14px;"><domain-controller>
<remote host="${jboss.domain.master.address:192.168.24.17}" port="${jboss.domain.master.port:9999}" security-realm="ManagementRealm"/>
</domain-controller></span>
注意本处的IP改为master Server上面的IP,这样slave server才知道连哪个主机
2)
<span style="font-size:14px;"><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></span>
注意本处的IP全改为0.0.0.0或者是改为真实的slave server的IP。否则slave上的应用之恩能够在slave本机上访问。
3)
<span style="font-size:14px;"><servers>
<server name="master-server-8082" group="my-group-1">
<socket-bindings port-offset="2"/>
</server>
<server name="master-server-8083" group="my-group-1">
<socket-bindings port-offset="3"/>
</server>
</servers></span>
在slave server上建两个server,并加入到my-group-2(此处的group必须是在master server上创建过的,否则启动时slave server上的server无法正常加入到master相关的group中)
4)
<span style="font-size:14px;"><host name="teng" xmlns="urn:jboss:domain:1.6" ></span>
在最开头的host节点上,加一个name=””,这个name最终会显示在master server的jboss控制台中。
注意:这个名字一定要与JBOSS中创建的用户名一致,否则会找不到。
3、安全认证
还是修改host.xml文件
<span style="font-size:14px;"><server-identities>
<!-- Replace this with either a base64 password of your own, or use a vault with a vault expression -->
<!--<secret value="c2xhdmVfdXNlcl9wYXNzd29yZA=="/>-->
<secret value="IXRlbmcxMjM="/>
</server-identities></span>
注意:这个value值的编码一定要与上面用户名的编码一致,否则会出认证不了。
总之就是需要在master server的jboss上创建一个teng的用户名,创建出来如下:
用户名和2.4的name一致,编码与上面的value一致。
4、依次以domain模式启动master server,slave server上面的jboss
运行结果如下:
teng的这个slave server显示出来了,并且server是在my-group-1里的,和上面的修改host.xml里面的内容匹配。证明这步成功。
5、配置完Slave Server,Jboss情况
Slave Server:
Group情况:
三、部署
1、添加包
2、选择文件
3、添加成功后,assignments为0
4、把war包添加到组中即可运行
点击assign
选择添加到哪个组中。
如果想把一个app,部署到多个group,也没问题,再次点击assign,再分配到另一个group。
5、Master和Slave配置完,Jboss 实例图
Master server在17的机器上,SlaveServer(teng)在42的机器上
Group的关系:
6、访问
以我做的例子为例,我把app放到了my-group-1和my-group-2,那么他对应6个URL均可以访问,如下:
http://192.*.*17:8080/itoo-base-cgform-all/cgFormHeadController.do?cgFormHeadList# (Master Server的地址)
http://192.*.*.17:8081/itoo-base-cgform-all/cgFormHeadController.do?cgFormHeadList#
http://192.*.*.17:8082/itoo-base-cgform-all/cgFormHeadController.do?cgFormHeadList#
http://192.*.*.17:8083/itoo-base-cgform-all/cgFormHeadController.do?cgFormHeadList#
http://192.*.*.42:8082/itoo-base-cgform-all/cgFormHeadController.do?cgFormHeadList#(Slave Server 的访问地址)
http://192.*.*.42:8083/itoo-base-cgform-all/cgFormHeadController.do?cgFormHeadList#
总结
JBOSS版本的提升还是为我们带来很大的方便,通过域实现了多服务器统一管理,统一配置,资源统一部署。通过集中管理,在此基础上进行集群的划分与部署,实现集群内多台服务器的单点配置与管理,减轻服务器压力,达成了完美结合。下面继续介绍JBOSS负载均衡。