配置负载均衡至少需要两台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+Tomcat实现负载均衡及集群(session同步)--四、负载均衡(1)使用mod_jk Apache+Tomcat实现负载均衡及集群(session同步)--四、负载均衡(1)使用mod_jk](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0RvdkwyUnNNaTVwZEdWNVpTNWpiMjB2ZFhCc2IyRmtMMkYwZEdGamFHMWxiblF2TURFeE1pOHdPVEEyTHpBMFpUQmtPVGRsTFRsaFpXUXRNelEzTlMxaFpURTNMVE5sTWprellXTTBOR1ExWkM1d2JtYz0%3D.jpg?w=700&webp=1)
新增了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
![Apache+Tomcat实现负载均衡及集群(session同步)--四、负载均衡(1)使用mod_jk Apache+Tomcat实现负载均衡及集群(session同步)--四、负载均衡(1)使用mod_jk](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0RvdkwyUnNNaTVwZEdWNVpTNWpiMjB2ZFhCc2IyRmtMMkYwZEdGamFHMWxiblF2TURFeE1pOHdPVEE0THpZME5HWTVNMlF4TFRGak1EZ3RNelZoTmkwNU9XTm1MVEF6TXpaa01UUmhNV1UzT0M1d2JtYz0%3D.jpg?w=700&webp=1)
修改另一个tomcat的Engine属性,加入jvmRoute属性
![Apache+Tomcat实现负载均衡及集群(session同步)--四、负载均衡(1)使用mod_jk Apache+Tomcat实现负载均衡及集群(session同步)--四、负载均衡(1)使用mod_jk](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0RvdkwyUnNNaTVwZEdWNVpTNWpiMjB2ZFhCc2IyRmtMMkYwZEdGamFHMWxiblF2TURFeE1pOHdPVEUwTHpJd09URXhNR1EzTFRGbFptWXRNemd3WmkwNU1UTTJMVEF5TWpVMk56Qm1aVFk1WlM1d2JtYz0%3D.jpg?w=700&webp=1)
修改shade工程的index.jsp,ip为211的tomcat上修改成如下
![Apache+Tomcat实现负载均衡及集群(session同步)--四、负载均衡(1)使用mod_jk Apache+Tomcat实现负载均衡及集群(session同步)--四、负载均衡(1)使用mod_jk](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0RvdkwyUnNNaTVwZEdWNVpTNWpiMjB2ZFhCc2IyRmtMMkYwZEdGamFHMWxiblF2TURFeE1pOHdPVEUyTHpsallXRm1Oamd6TFRVd1pETXRNMlE1WVMxaVpUZzFMV00xT1dReU5XSmtNamMyT1M1d2JtYz0%3D.jpg?w=700&webp=1)
ip为243的tomcat上修改成如下:
![Apache+Tomcat实现负载均衡及集群(session同步)--四、负载均衡(1)使用mod_jk Apache+Tomcat实现负载均衡及集群(session同步)--四、负载均衡(1)使用mod_jk](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0RvdkwyUnNNaTVwZEdWNVpTNWpiMjB2ZFhCc2IyRmtMMkYwZEdGamFHMWxiblF2TURFeE1pOHdPVEl3THpCbU5HTTVZV1E1TFdNME1XRXRNelJpWXkxaU5EUmlMVGcwWVRobU5tVTVOVEUwWVM1d2JtYz0%3D.jpg?w=700&webp=1)
依次启动tomcat、Apache,访问 打开Firefox浏览器,输入地址http://192.168.137.16/shade/index
![Apache+Tomcat实现负载均衡及集群(session同步)--四、负载均衡(1)使用mod_jk Apache+Tomcat实现负载均衡及集群(session同步)--四、负载均衡(1)使用mod_jk](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0RvdkwyUnNNaTVwZEdWNVpTNWpiMjB2ZFhCc2IyRmtMMkYwZEdGamFHMWxiblF2TURFeE1pOHdPVEl5TDJJMU5UQmxNRGszTFRVMllqa3RNMkprTWkxaU5tUTFMVGszT0RZMFpqUmpPVGMzTUM1d2JtYz0%3D.jpg?w=700&webp=1)
可以看到请求被192.168.137.211这台tomcat服务器处理 打开chrome浏览器,输入地址http://192.168.137.16/shade/index
![Apache+Tomcat实现负载均衡及集群(session同步)--四、负载均衡(1)使用mod_jk Apache+Tomcat实现负载均衡及集群(session同步)--四、负载均衡(1)使用mod_jk](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0RvdkwyUnNNaTVwZEdWNVpTNWpiMjB2ZFhCc2IyRmtMMkYwZEdGamFHMWxiblF2TURFeE1pOHdPVEkwTDJRMU56WmhNVGMyTFRGaE16WXRNMk5sWlMxaU1UWmtMVFE0WXpWa1lUY3labVl5Tmk1d2JtYz0%3D.jpg?w=700&webp=1)
可以看到请求被192.168.137.243这台tomcat处理 现在我们把192.168.137.211这台tomcat服务器关闭,模拟服务器宕机
![Apache+Tomcat实现负载均衡及集群(session同步)--四、负载均衡(1)使用mod_jk Apache+Tomcat实现负载均衡及集群(session同步)--四、负载均衡(1)使用mod_jk](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0RvdkwyUnNNaTVwZEdWNVpTNWpiMjB2ZFhCc2IyRmtMMkYwZEdGamFHMWxiblF2TURFeE1pOHdPVEkyTHpjNFlqRTRNbVk0TFdNMlkySXRNemxrTkMwNU1UWXlMV0kyT1RJMFpEWTBPRGxoT1M1d2JtYz0%3D.jpg?w=700&webp=1)
在Firefox浏览器中继续请求http://192.168.137.16/shade/index,(注意不要把Firefox关了再重新打开),页面显示如下
![Apache+Tomcat实现负载均衡及集群(session同步)--四、负载均衡(1)使用mod_jk Apache+Tomcat实现负载均衡及集群(session同步)--四、负载均衡(1)使用mod_jk](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0RvdkwyUnNNaTVwZEdWNVpTNWpiMjB2ZFhCc2IyRmtMMkYwZEdGamFHMWxiblF2TURFeE1pOHdPVEk0THpCaE5USXhNR00zTFRrNU5qRXRNekprTWkwNVpXRmhMVEZpWlRkak1URXdORGcxWlM1d2JtYz0%3D.jpg?w=700&webp=1)
可以看到,请求被192.168.137.243这台tomcat服务器处理了,因此,就算有app服务器宕机,服务总体来说也是可用的,这就是高可用性。但是看到session id也变了,如果是登陆用户,就会出现莫明奇妙的提示未登录,重新登陆,接下来配置tomcat的集群,即session同步,以解决这种情况。