概述
前面JBoss 系列二:使用Apache httpd(mod_cluster)和JBoss构架高可用集群环境中我们介绍了企业应用的目的的目的,负载均衡,容错等,并通过Apache httpd(mod_cluster)和JBoss构架高可用集群环境,我们这里在原有的环境中将mod_cluster换成mod_proxy,其架构如下图所示:
本方案是在开源Linux操作系统Fedora 15上进行,我们列出本方案使用的硬件和软件,三台物理机器,内存4GB或以上,安装Fedora 15后IP地址分别为10.66.192.48,10.66.192.231,10.66.192.232,我们分别对这三台物理机器做相应的安装如下:
- 10.66.192.231 – 安装JDK 1.6,JBoss 7,JBoss节点名称为node1
- 10.66.192.232 – 安装JDK 1.6,JBoss 7,JBoss节点名称为node2
- 10.66.192.48 – 安装Apache httpd,mod_proxy
安装 Apache httpd
请参照系列一 Apache httpd 安装(http://blog.youkuaiyun.com/kylinsoong/article/details/12291173)
Apache httpd端配置
编辑httpd/conf/httpd.conf,让httpd监听在10.66.192.48:80上:
Listen 10.66.192.48:80
在 httpd/conf.d下创建mod_proxy.conf文件,编辑内容如下:
Listen 10.66.192.48:9876
<VirtualHost 10.66.192.48:9876>
ProxyRequests off
ProxyPass / balancer://ETRADE/
ProxyPassReverse / balancer://ETRADE/
Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
<Proxy balancer://ETRADE>
BalancerMember http://10.66.192.231:8080/approot route=node1 loadfactor=1
BalancerMember http://10.66.192.232:8080/approot route=node2 loadfactor=1
ProxySet stickysession=ROUTEID
</Proxy>
ProxyTimeout 600
</VirtualHost>
由于 mod_ proxy不需要额外安装module包,所以至此httpd端配置完成。
JBoss端配置
JBoss端不做额外配置,分别启动10.66.192.231,10.66.192.232 节点即可,如下:
./standalone.sh -c standalone-ha.xml -b 10.66.192.231 -bmanagement=10.66.192.231 -u 239.255.100.100 -Djboss.node.name=node1
./standalone.sh -c standalone-ha.xml -b 10.66.192.232 -bmanagement=10.66.192.232 -u 239.255.100.100 -Djboss.node.name=node2
结束
至此,配置结束,我们可以部署测试应用测试高可用,负责均衡等,类似于JBoss 系列二:使用Apache httpd(mod_cluster)和JBoss构架高可用集群环境