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同步,以解决这种情况。
相关推荐
azhuye 2020-11-12
liupengqwert 2020-10-28
YzhilongY 2020-08-31
crazyjingling 2020-08-16
swtIrene 2020-08-14
slovyz 2020-08-14
tinydu 2020-08-09
tinydu 2020-08-03
Studynutlee 2020-08-03
快乐de馒头 2020-07-29
yungame 2020-07-27
buaichidoufu 2020-07-28
wanjichun 2020-07-26
极地雪狼 2020-07-26
yungame 2020-07-04
畅聊架构 2020-06-28
极地雪狼 2020-06-27
廖先贵 2020-06-23