【参考】Apache+Tomcat实现负载均衡及集群(session同步)--四、负载均衡(1)使用mod_jk

配置负载均衡至少需要两台tomcat,按照同样的方式,在虚拟机中安装一台centos Linux服务器,名称为centOS-2,其分配的ip地址为 192.168.137.243,安装好tomcat,因此,目前的环境看起来是这样的

服务器

软件

ip

CentOS

apache

192.168.137.16

redhat

tomcat

192.168.137.211

CentOS-1

tomcat

192.168.137.243

修改Apache的workers.properties文件,增加一个worker实例



 

新增了worker2,除了ip,其他的配置跟worker1一样

新增了名为lbServer的worker,用于负载均衡,其type为lb,这是mod_jk自带的虚拟worker,请求会先交给lbServer,lbServer会根据策略转发请求到worker1或者worker2,相应的,worker.list中指定的是负载均衡的虚拟worker lbServer,具体的worker,这里指worker1、worker2不能出现在worker.list列表中。第三行指定了负载均衡worker将请求转发到哪些实际的worker,第四行指定是否启用粘性会话,如果配置为true,那么同一个会话的请求会转发到相同的worker

修改Apache的httpd.conf文件,将请求转发到lbServer worker



 

修改另一个tomcat的Engine属性,加入jvmRoute属性



 

修改shade工程的index.jsp,ip为211的tomcat上修改成如下



 

ip为243的tomcat上修改成如下:



 

依次启动tomcat、Apache,访问

打开Firefox浏览器,输入地址http://192.168.137.16/shade/index



 

可以看到请求被192.168.137.211这台tomcat服务器处理

打开chrome浏览器,输入地址http://192.168.137.16/shade/index



 

可以看到请求被192.168.137.243这台tomcat处理

现在我们把192.168.137.211这台tomcat服务器关闭,模拟服务器宕机



 

在Firefox浏览器中继续请求http://192.168.137.16/shade/index,(注意不要把Firefox关了再重新打开),页面显示如下



 

可以看到,请求被192.168.137.243这台tomcat服务器处理了,因此,就算有app服务器宕机,服务总体来说也是可用的,这就是高可用性。但是看到session id也变了,如果是登陆用户,就会出现莫明奇妙的提示未登录,重新登陆,接下来配置tomcat的集群,即session同步,以解决这种情况。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值