Tomcat服务器集群Session共享
2018-02-03 17:01
411 查看
添加session共享
测试实现的session共享
测试Session共享结果
Apache2.4.29-x64负载均衡
实现session共享的方式比较的简单,就是在tomcat所部署的项目TestTomcat中,修改web.xml,在其中加入下面的信息:
在Tomcat中也需要进行修改,打开conf/server.xml配置文件,在其中的Engine标签下添加下面的信息,该信息无需修改,直接拿来使用就行了。
对于该添加方式,在Tomcat的官方文档中就有相应的描述,我们只需要拿来使用就行了,索性的是,由于该官方文档就在Tomcat中,所以说我们就没有必要翻墙去看国外的官网了,其官方文档就在webapps下的docs,双击其中的index.html即可进入官方文档首页。在首页中点击Apache Tomcat Clustering 超链接,即可打开配置session共享的页面,在这里我们就可以找到上述代码信息。
tomcat2、tomcat3与tomcat1的不同之处仅在于去掉了
其结果如下:
如上所述,通过不断的刷新页面,我们可以看到,tomcat后的数值一直在变动,但是sessionId和用户在session中存放的信息zhangsan却一直不变,同时,由于该信息是在tomcat1中进行设置的,在tomcat2与tomcat3中并未设置,但是我们却同样的可以取到,这说明我们的session共享已经顺利的搭建完成。
测试实现的session共享
测试Session共享结果
添加session共享
这个是接上一篇文章的,不清楚的可以看这里:Apache2.4.29-x64负载均衡
实现session共享的方式比较的简单,就是在tomcat所部署的项目TestTomcat中,修改web.xml,在其中加入下面的信息:
<distributable/>
在Tomcat中也需要进行修改,打开conf/server.xml配置文件,在其中的Engine标签下添加下面的信息,该信息无需修改,直接拿来使用就行了。
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8"> <Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true"/> <Channel className="org.apache.catalina.tribes.group.GroupChannel"> <Membership className="org.apache.catalina.tribes.membership.McastService" address="228.0.0.4" port="45564" frequency="500" dropTime="3000"/> <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" address="auto" port="4000" autoBind="100" selectorTimeout="5000" maxThreads="6"/> <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"> <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/> </Sender> <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/> <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/> </Channel> <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/> <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/> <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/" deployDir="/tmp/war-deploy/" watchDir="/tmp/war-listen/" watchEnabled="false"/> <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/> </Cluster>
对于该添加方式,在Tomcat的官方文档中就有相应的描述,我们只需要拿来使用就行了,索性的是,由于该官方文档就在Tomcat中,所以说我们就没有必要翻墙去看国外的官网了,其官方文档就在webapps下的docs,双击其中的index.html即可进入官方文档首页。在首页中点击Apache Tomcat Clustering 超链接,即可打开配置session共享的页面,在这里我们就可以找到上述代码信息。
测试实现的session共享
tomcat1中的测试文件testjsp.jsp的源码如下:
<%@ page import="java.util.Date" %><%-- Created by IntelliJ IDEA. User: HP Date: 2018/2/1 Time: 14:14 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <% System.out.println(new Date()+"=============tomcat1================="); HttpSession session1 = request.getSession(); System.out.println("sessionId为:" + session1.getId()); session1.setAttribute("name","zhangsan"); System.out.println("用户sessionId为:" + session1.getAttribute("name")); %> tomcat1=======<%=new Date()%><br> sessionId为:<%=session1.getId()%><br> 用户sessionId为:<%=session1.getAttribute("name")%> </body> </html>
tomcat2、tomcat3与tomcat1的不同之处仅在于去掉了
session1.setAttribute("name","zhangsan");,同时将tomcat1改成各自的tomcat+数值。
测试Session共享结果
由于之前Tomcat进行了相应的配置文件修改,所以说得需要进行重新启动,启动后,在浏览器中输入下列地址进行结果查看。http://192.168.111.128/TestTomcat/testjsp.jsp
其结果如下:
如上所述,通过不断的刷新页面,我们可以看到,tomcat后的数值一直在变动,但是sessionId和用户在session中存放的信息zhangsan却一直不变,同时,由于该信息是在tomcat1中进行设置的,在tomcat2与tomcat3中并未设置,但是我们却同样的可以取到,这说明我们的session共享已经顺利的搭建完成。
相关文章推荐
- tomcat原理及安装及反向代理、会话保持、session集群和session共享服务器的实现(一)
- Nginx+Tomcat+Redis实现应用服务器集群负载均衡和Session共享
- Windows环境下Nginx+Tomcat+Redis实现应用服务器集群负载均衡和Session共享
- apache+tomcat集群session共享-redis服务器
- ngnix+ tomcat +memcached 集群设置服务器负载均衡,session共享
- 通过memcached来实现对tomcat集群中Session的共享策略
- nginx+tomcat+redis/Memcached集群完成session共享
- tomcat集群redis配置session共享
- 关于 tomcat 集群中 session 共享的三种方法
- 图文并茂超详细搭建redis缓存服务器(nginx+tomcat+redis+mysql实现session会话共享)
- 关于 tomcat 集群中 session 共享的三种方法
- Apache和tomcat集群搭建 session共享
- nginx 、tomcat 集群配置、shiro Session 共享
- 分布式集群Session共享 简单多tomcat8+redis的session共享实现
- Apache + Tomcat + mod_jk实现集群服务及session共享
- 关于 tomcat 集群中 session 共享的三种方法
- Nginx+Tomcat+Memcached集群Session共享
- web服务器集群session同步、共享的几种方法
- 用Redis存储Tomcat集群的Session实现session共享
- tomcat使用memcached完成集群(session共享实现方式)