基于jboss mod_cluster的均衡负载集群系统配置详解 jboss mod_cluster是redhat最新的针对集群与均衡负载而推出的开源项目,能够很好的与TOMCAT、JBOSS Web Server、JBOSS J2EE Application Server配合组建集群分布式系统,相对传统Apache+JK的均衡负载方案,mod_cluster有以下优点: 1.动态管理集群节点,传统Apache+mod_jk方式管理集群节点需要配置HTTPD,mod_cluster将大多数配置放在集群节点应用服务器中,单个节点的终止或加入不会影响整体系统的运行。 2.服务器端负载平衡算法,相比传统HTTPD,这套算法更强大精确。 3.细粒度网络应用程序生命周期控制,传统代理方式无法区分一个不存在的资源,这会导致404错误,mod_cluster对这个问题作了完善的解决。 4.多种集群方式支持,mod_cluster不仅仅依靠于AJP,相对mod_jk,它支持http、https、ajp。 Let's go, 下面就让我们开始mod_cluster之旅吧。 首先,让我们到JBOSS网站下载mod_cluster,目前最新版本是mod_cluster 1.0.0 GA,下载地址: http://www.jboss.org/mod_cluster/downloads/latest/?action=a&windowstate=maximized 可以看到mod_cluster对大多数操作系统都有针对性的版本,不同系统配置或许会有细微区别,本文仅以linux2 x86版本为例,为了尽量简单,web server 采用jboss-web-2.1.2.GA作为节点服务器,当然你也可以用TOMCAT或JBOSS J2EE Application Server构建系统。首先,我们下载以下项目: jboss-web-2.1.2.GA.zip mod-cluster-1.0.0.GA-bin.tar.gz mod_cluster-1.0.0.GA-linux2-x86-ssl.tar.gz 在项目文件所在目录下执行以下命令: tar xvf mod_cluster-1.0.0.GA-linux2-x86-ssl.tar.gz 会在你/opt目录下生成/opt/jboss目录,接着执行: vi /opt/jboss/httpd/httpd/conf/httpd.conf 编辑HTTPD主配置文件,添加以下内容: LoadModule proxy_module /opt/jboss/httpd/lib/httpd/modules/mod_proxy.so LoadModule proxy_ajp_module /opt/jboss/httpd/lib/httpd/modules/mod_proxy_ajp.so LoadModule slotmem_module /opt/jboss/httpd/lib/httpd/modules/mod_slotmem.so LoadModule manager_module /opt/jboss/httpd/lib/httpd/modules/mod_manager.so LoadModule proxy_cluster_module /opt/jboss/httpd/lib/httpd/modules/mod_proxy_cluster.so LoadModule advertise_module /opt/jboss/httpd/lib/httpd/modules/mod_advertise.so SetHandler mod_cluster-manager Order deny,allow Deny from all Allow from all Order deny,allow Deny from all Allow from all KeepAliveTimeout 60 MaxKeepAliveRequests 0 ManagerBalancerName mycluster AdvertiseFrequency 5 退出vi,执行命令: unzip jboss-web-2.1.2.GA.zip tar -zxvf mod-cluster-1.0.0.GA-bin.tar.gz cp -r jboss-web-2.1.2.GA /opt/jboss-node1 cp mod-cluster-1.0.0.GA-bin/JBossWeb-Tomcat/lib/* /opt/jboss-node1/lib vi /opt/jboss-node1/conf/server.xml 修改server.xml对应标签内容如下: 添加一条监听器: proxyList为你mod_cluster的地址与端口 修改以下标签: 保存退出。 执行命令: vi /opt/jboss-node1/bin/catalina.sh 设置以下参数 JAVA_OPTS='-Djava.net.preferIPv4Stack=true' 保存退出。 执行以下命令: cp -r /opt/jboss-node1 /opt/jboss-node2 vi /opt/jboss-node2/conf/server.xml 修改标签 将jvmRoute参数值修改为:vboss2 注意,jvmRoute代表集群节点名称,不同节点,该名称不能重复。 下面启动mod_cluster与节点应用服务器 cd /opt/jboss/httpd/sbin ./apachectl start cd /opt/jboss/jboss-node1/bin ./startup.sh cd /opt/jboss/jboss-node2/bin ./startup.sh 浏览器打开:http://localhost/mod_cluster-manager 看到以下画面证明集群部署成功 访问系统:http://localhost/VBOSS/login/gologin.htm 看到你的应用系统登录界面,该系统均衡负载部署成功啦。