Apache + Tomcat 实现负载均衡(二)

第二次写关于Apache + tomcat 实现负载均衡的文章。这篇为第二篇。只为让自己长个记性发现第一次的错误。


不知道有没有看我blog的人按照第一次的配置的方式去实现apache+tomcat,如果有人用了肯定就会有问题,因为那个配置可以实现负载均衡。


但是session的复制应该会出现问题。今天我闲来无事想尝试下mod_proxy的配置方式。但是还没搞的时候发现原来的mod_jk的配置方式session复制有问题又重新


解决了下。现在记录于此。



1.我用的是tomcat7.如果想要实现session的复制需要将tomcat conf中得server.xml进行修改。放开此段注释。


<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>


2.在我上篇文章的基础上修改 workers.properties文件为现有形式:


#===========controller,负载均衡控制器====
worker.controller.type=lb
worker.controller.balanced_workers=tomcat1,tomcat2,tomcat3
worker.controller.sticky_session_force=1
#1为 true 0 为false
worker.controller.sticky_session=0
此处在详细解答下这个sticky_session的0和1的区别。

这个区别就是,当sticky_session=1的时候假如服务器A接受了请求,以后得请求都会发送给A,不会轮询

当sticky_session=0的时候假如A服务器接受了请求,按F5再次刷新结果到了B服务器,再按一次又到了C服务器,会话会轮询。

# sticky_session请求是发送给一台服务器1,还是多台服务器0。session的复制只与tomcat集群配置有关。
但是经过我的测试发现,当我此属性设置为1的时候这个时候我访问localhost/test/test.jsp 访问到tomcat1上,再次新开浏览器

访问同样的路径然后分配到tomcat2上,这个时候我将tomcat1关闭,在浏览器1上刷新这个时候就会报错。如果这样就没有起到

作用,所以个人认为,这里还是应该配置成0,这样,当你的一个tomcat挂掉的时候他会轮询到别的tomcat上,而且还携带着你的session信息。


这篇应该算是答疑,希望配置中出现问题的朋友也研究讨论下。看看明天有时间搞下mod_proxy的形式,因为现在mod_jk的形式已经淘汰了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值