试验apahce+tomcat组建集群,实现负载均衡和session复制

有幸在javaeye看到了关于apache+tomcat集群实现负载均衡和session复制的文章, 浏览后自己也照着做了一遍,实验成功。于是在这里做一个摘录,以便日后自己真正要用时有个方便的参考。

http://lxiaodao.iteye.com/blog/321000

此文是利用jk来作apache和tomcat的connector,从而作负载均衡的;而在tomcat配置集群,实现了对session的复制。

基于jk实现,倒是发现文中引用的文章介绍更加有实践性,http://hi.baidu.com/luodaijun/blog/item/5bbe4cfb5ffef864034f56a1.html

当然如果想要深入最好是查看apache和jk、tomcat的官方文档。

 

看过一篇关于apahce和tomcat三种连接方式的文章,http://www.ibm.com/developerworks/cn/opensource/os-lo-apache-tomcat/ ,就想到如何基于apache本身的proxy来作负载均衡。而这个proxy作起来实际比用jk还来得简单,感觉需要的配置更少,功能还不弱,还可以设置访问限制,起到防火墙的作用。再看看这篇http://bbs.linux-cn.com/thread-13728-1-2.html 就很清楚如何用proxy了。基于proxy作负载均衡,还可以用apache自带的balance-manager来查看负载均衡的状况,实在也给测试带来了方便。apache proxy的性能怎样呢?倒是找到一篇测试报告:http://blog.chinaunix.net/u/29321/showart_332499.html

proxy事实上还能做到让静态资源,例如html页面,css,javascript都在apache上加载,而动态资源,如jsp或servlet请求都发到tomcat。但我总觉得tomcat上加载那些静态资源倒也不慢,而且APR也能很好提升tomcat上处理这些静态资源的性能,因此我倒不想把页面啊,css啊都给迁移到apache上去一份,显得麻烦。tomcat5开启APR可以参考http://sizhefang.iteye.com/blog/33668

 

session复制,需要做的就是在tomcat上修改server.xml,打开cluster,再到run的app中修改web.xml,加上一句<distributable/>。我第一次实验的时候, 拿的是一个tomcat5.5和一个tomcat6来组建集群,发现session复制是不行的,后来更换成两个tomcat5.5就成功了。从错误来看,应该是tomcat6改写了 McastService,导致向tomcat5.5无法广播session。估计换用成两个tomcat6也是没有问题的。

你可能感兴趣的:(apache,tomcat,linux,css,OpenSource)