关于SSH框架的集群,负载均衡,以及缓存集群的配置搭建 (一)

最近配置一个SSH项目的集群,遇到不少麻烦。网上查找了不少资料但是都不齐全。为了减少新手少走弯路,特此分享出来。老鸟可以略过。。板砖轻拍。

 

首先说下框架

 

Spring 2.5+struts 2.2.1+hibernate 3.2  hibernate 的二级缓存实现使用的是Ehcache 1.6.2

 

阅读此文前,请先确认你的项目相关实体类进行了序列化也就是继承了java.io.Serializable 接口。

 

详细信息请Google之,不详细解释。

 

环境 JDK 1.6 , tomcat 5.5.30 ,Apache 2.2.17

 

其他版本的配置基本相同。不同的地方会指示出来。相关软件的下载安装略过。

 

 

一.apache+tomcat负载均衡和集群的配置。

 

 1.修改apache的conf下的httpd.conf 添加如下内容

 

 

mod_jk-1.2.31-httpd-2.2.3.so 可以从apache官网下载,请注意对应的apache版本,并放入Apache的modules目录。

 

 

 

日志文件,最好写上,可以快速排错。知道哪里出问题了。

 

 

mod_jk的配置文件加载。下面会详细讲解。

 

上述代码片段均添加到apache中 httpd.conf配置文件中,插入位置,请参照httpd.conf配置本身

 

 

2.在conf目录 新建 mod_jk.conf 文件,内容如下

 

  

 

什么样的请求分发给tomcat处理。可以实现动态文件跟静态文件的分离,例如,只是把jsp,跟Action的请求转发给Tomcat处理。

其他js,html,jpg,css等静态文件可以给apache处理。(静态文件需要拷贝至apache的工作目录,或者修改配置文件指向静态文件所在目录)

 

3.在conf中新建workers.properties文件

 

 

这两个tomcat是在本机配置的,所以修改了相应的端口号,如果是在不同机器中配置,则不需修改,详细配置参考

下面的tomcat配置

 

 

 

需要注意的是session粘性的配置。

sticky_session 和sticky_session_force属性

 

worker.loadbalancer.sticky_session=true 
此处指定集群是否需要会话复制,如果设为true,则表明为会话粘性,不进行会话复制,当某用户的请求第一次分发到哪台Tomcat后,后继的请求会一直分发到此Tomcat服务器上处理;如果设为false,则表明需求会话复制。 
worker.loadbalancer.sticky_session_force=true 
如果上面的sticky_session设为true时,建议此处也设为true,此参数表明如果集群中某台Tomcat服务器在多次请求没有响应后,是否将当前的请求,转发到其它Tomcat服务器上处理;此参数在sticky_session=true时,影响比较大,会导致转发到其它Tomcat服务器上的请求,找不到原来的session,所以如果此时请求中有读取session中某些信息的话,就会导致应用的null异常


 

 

3.tomcat的配置

 

 以tomcat5.5为例,6.0及7.0或更高版本配置请参考tomcat文档

 

          /docs/cluster-howto.html  (simple how to)

          /docs/config/cluster.html (reference documentation)

 

server.xml完整代码,如果是本机运行多个tomcat,请修改相应端口。防止冲突。请参考上面的workers.properties文件修改

 

 

 

 

关于tomcat,你可以复制多份进行测试,也可以修改server.xml,添加多个实例进行运行,但是为了更直观的查看建议复制多份。

 

修改tomcat的Context.xml文件 打开全局session复制

 

<Context  distributable="true">

 

 


 

 

 

 

 

 


 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值