博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
tomcat如何实现session共享
阅读量:6226 次
发布时间:2019-06-21

本文共 1104 字,大约阅读时间需要 3 分钟。

hot3.png

 

方法一:通过修改tomcat配置文件实现

缺点:当节点太多,tomcat集群之间session传递会影响性能

     五台为分界点

通过此方法配置的集群,session信息将会被自动复制到各个节点

在Server.xml中,找到被注释<Cluster/>节点,修改为如下:

 
channelSendOptions="8">
 
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"/>
bind="127.0.0.1"
address="228.0.0.4"
port="45564"
frequency="500"
dropTime="3000"/> 
address="auto"
port="4001"
autoBind="100"
selectorTimeout="5000"
maxThreads="6"/>
 
tempDir="/tmp/war-temp/"
deployDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>

 

2、修改web.xml

在web.xml中,标志为 <distributable/> 

session

方法二:基于CookieSession共享

个方案我们可能比较陌生,但它在大型网站中还是比较普遍被使用。原理是将全站用户的Session信息加密、序列化后以Cookie的方式,统一种植在根 域名下(如:.host.com),利用浏览器访问该根域名下的所有二级域名站点时,会传递与之域名对应的所有Cookie内容的特性,从而实现用户的 CookieSession 在多服务间的共享访问。

个方案的优点无需额外的服务器资源;缺点是由于受http协议头信心长度的限制,仅能够存储小部分的用户信息,同时Cookie化的 Session内容需要进行安全加解密(如:采用DESRSA等进行明文加解密;再由MD5SHA-1等算法进行防伪认证),另外它也会占用一定的带 宽资源,因为浏览器会在请求当前域名下任何资源时将本地Cookie附加在http头中传递到服务器。

 

方法三:基于缓存(redis memcached

 

  

 

347c6cd5b2ff41ed7e22e78f0371d0f917e.jpg

f018cb777fca06320e228b53c8646a4a7dd.jpg

8e18ffad77732fabfd193cf5dc6cbac46f3.jpg

c121dcc64ec8fd596d0e12316711e7464e4.jpg

4ada39ca7fa5cce7f2cee60669dc591ee4a.jpg

 

 

768515b87b6aa1777f6363952b48cb5fed3.jpg以上两行配置有顺序

 

 

4c53cea8be775a9cfcd5d7739d4bcbe6288.jpg

 

 

转载于:https://my.oschina.net/demons99/blog/1929190

你可能感兴趣的文章
细数JDK里的设计模式
查看>>
Linux~上部署.net MVC出现的问题与解决
查看>>
DDD~充血模型和失血模型
查看>>
android DPI与分辨率的关系及计算方式
查看>>
forward_list
查看>>
伪分布式网络爬虫框架的设计与自定义实现(一)
查看>>
解决npm ERR! Unexpected end of JSON input while parsing near的方法汇总
查看>>
MySQL 入门
查看>>
js的操作及css样式
查看>>
bootstrapValidator关于js,jquery动态赋值不触发验证(不能捕获“程序赋值事件”)解决办法...
查看>>
数据库设计基础>范式
查看>>
POJ 3461 Oulipo(模式串在主串中出现的次数)
查看>>
Openstack的镜像属性
查看>>
【分享】用Canvas实现画板功能
查看>>
C++走向远洋——46(教师兼干部类、多重继承、派生)
查看>>
spring IOC源码分析(1)
查看>>
「深入理解计算系统」从Hello World开始
查看>>
手写Json转换
查看>>
Xception
查看>>
MySQL——约束(constraint)详解---转载
查看>>