论坛首页 Java企业应用论坛

tomcat 集群、负载均衡 基于memcached 缓存session 的问题

浏览 6372 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-07-28  
最近的一个项目要用到tomcat 集群、负载均衡。可是不想用粘性session或session复制这种方式来管理session。找找缓存session的方法看到了codeutil的一个帖子扩展Tomcat 6.x,使用memcached存放session信息
感觉不错,于是就试了试。也实现了他所说的Filter方法,但是用到集群上还是有问题要解决的。但是我想不到怎么解决,于是拿出来请大家帮想想法!
引用

如果配置集群时,不用session复制或粘性session的话每次请求sessionid都会改变。这样根据sessionid缓存的值就无法取到了。
   发表时间:2008-07-28  
基于cookie存sessionid是可以的,但是个人感觉cookie不是很好。
0 请登录后投票
   发表时间:2008-07-28  
为什么cookie不好,最好的东西了
0 请登录后投票
   发表时间:2008-07-28  
neptune 写道
为什么cookie不好,最好的东西了

很有可能用户会关掉cookie的。
如果那样的话,他不是就不能用这个系统了??
0 请登录后投票
   发表时间:2008-07-28  
javadonkey 写道
neptune 写道
为什么cookie不好,最好的东西了

很有可能用户会关掉cookie的。
如果那样的话,他不是就不能用这个系统了??

关掉cookie可以匿名访问不代表不能使用这个系统,而且用户自己知道关闭cookie带来的影响,因为默认是打开的,只有专业人士才会去关闭.
如果用urlrewrite方式把sessionid放在path parameter里面,很容易被session fixation攻击,而且对搜索引擎不友好.
https://issues.apache.org/bugzilla/show_bug.cgi?id=45255
0 请登录后投票
   发表时间:2008-07-28  
是个sso问题啊,用户登录会话信息需要双方都有所设置阿,服务器会为用户保存session,但是服务器存了上万session,它怎么知道哪个session是属于哪个用户的阿,还不是需要用户把sessionid穿过去,服务器上检索那个session的id等于你穿过来的id,哪个session就是属于你的,那么用分布式缓存来取代多应用或者群集之间session必须复制的方式是个好办法,但是仍然需要本地使用cookie保存sessionid阿,因为cookie是本地保存状态的唯一方式阿。
0 请登录后投票
   发表时间:2008-07-28  
恩!!没有别的办法也只能用cookie啦
0 请登录后投票
   发表时间:2008-07-28  
quaff 写道
javadonkey 写道
neptune 写道
为什么cookie不好,最好的东西了

很有可能用户会关掉cookie的。
如果那样的话,他不是就不能用这个系统了??

关掉cookie可以匿名访问不代表不能使用这个系统,而且用户自己知道关闭cookie带来的影响,因为默认是打开的,只有专业人士才会去关闭.
如果用urlrewrite方式把sessionid放在path parameter里面,很容易被session fixation攻击,而且对搜索引擎不友好.
https://issues.apache.org/bugzilla/show_bug.cgi?id=45255

quaff 的方法,我也想过。但是相当不安全啊。
1 请登录后投票
   发表时间:2008-07-29  
想问问tomcat做群集的可行性前提,业务到达什么级别才需要用到这个?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics