文档章节

nginx+tomcat集群session共享问题解决方案

仁江
 仁江
发布于 2017/04/06 17:05
字数 562
阅读 40
收藏 1

1.iphash。 根据ip固定分配到某个tomcat。事实证明基本不能用。手机上网ip频繁变化,nginx必须作为最前端服务器,面临关闭tomcat用户session失效问题。

2,安装nginx_upstream_jvm_route粘性模块。 根据JSESSIONID把用户分配到固定tomcat为第一种方案的改进版。解决ip变化和nginx作为非最前端服务器问题。缺点,需要编译安装nginx,且对版本有要求。同样无法解决tomcat关闭session失效问题。 点击查看

3,使用tomcat自身的session集群复制。 没实践过,听说此方案只在2到3个tomcat的时候好用,多tomcat的话由于需要每个tomcat都复制其他所有tomcat的session会造成性能的严重下降。至于实际是不是这样,在新版本的tomcat有没有解决这个问题就不得而知了。

4,session memched mannerge把tomcat的session集中保存到memche缓存中。 此方案比较好,缺点是手动配置比较麻烦,因为使用到的jar包比较多,在配置过程发生比较多的版本冲突等问题。联系使用此办法的时候使用maven下载依赖包再把全部依赖包拉到tomcat的lib下。

5,spring session 伟大的spring实现的解决方案,原理和上面一样把session统一集中管理。但是他是在代码里面实现不依赖于tomcat容器。通过拦截器自定义了session的管理。尝试过spring session redis只需要加入少量的jar包以及简单的配置。当然前提是你的系统中已经使用了redis和spring同样会有版本冲突问题,但是幸好这些问题都是在本地开发阶段就已经发现和解决。在新搭的系统框架建议使用此方案。毕竟现在redis已经成为装逼必须品了。什么你的系统没用spring?

6,不使用session。 例如使用cookie代替session。但这个需要在项目开发阶段就采用此方案,而且我觉得使用cookie代替session并不是那么的妥当。

© 著作权归作者所有

共有 人打赏支持
仁江
粉丝 8
博文 12
码字总数 7176
作品 0
广州
程序员
使用nginx+tomcat做集群时,如何同步shiro的session,保证可以完成正常的权限认证

各位好: 请教个问题,我的项目中使用了shiro做权限控制,在单机的情况下没问题,但是使用nginx+tomcat 做集群时,集群使用redis做了tomcat的session共享,验证的时候回出现问题,多次请求时...

刘朕
2017/03/01
787
5
Nginx+Tomcat关于Session的管理

系列文章 Nginx+Tomcat关于Session的管理 Tomcat Session管理分析 Spring-Session基于Redis管理Session 前言 Nginx+Tomcat对Session的管理一直有了解,但是一直没有实际操作一遍,本文从最简...

ksfzhaohui
05/31
0
6
nginx+tomcat集群session不共享模式ip_hash问题

@红薯 ,想跟您请教个nginx iphash问题 问题描述:采用的nginx+tomcat集群,session不共享模式 有tomcat1、tomcat2 nginx配置ip_hash来使同一用户的访问都被指派到同一tomcat处理,但是当某个...

blackworm
2014/06/06
2.2K
5
Nginx+memcached+tomcat7+session

Nginx+memcached+tomcat7+session 前言 最近在学习nginx+tomcat配置,随着不断深入,很快就遇到瓶颈,tomcat集群之后session就不能共享,话说这个也不难,但是之前没有做过这方面的配置, 随...

樱花泪
2014/04/11
0
2
集群中通过msm实现session共享,采用轮询的方式时session经常失效

最近有个任务是使用nginx+tomcat实现集群和负载均衡,同时结合使用memcached实现session共享。配置集群中没有什么问题,就是这个通过memcached+tomcat实现session共享这出现了问题,现在使用...

attacker
2013/11/14
914
3

没有更多内容

加载失败,请刷新页面

加载更多

Future,Thread,Callable,Executors.newXXXThreadPool

package cunrent.future;import java.util.concurrent.*;public class FutureCook { public static void main(String[] args) throws InterruptedException, ExecutionExcept......

noteman
29分钟前
2
0
shing boot 做session共享 redis

因为多台服务器负载均衡,在获取客户端的sessionId的时候,会出现第一次和第二次不一样,因为负载均衡的缘故,你的服务器最少两台,那么客户端连接第一次请求和第二次请求如果不是同一台服务...

小马_wolf
34分钟前
1
0
【Springboot+mybatis】 解析Excel并批量导入到数据库

【Springboot+mybatis】 解析Excel并批量导入到数据库置顶 2018年01月16日 20:05:52 冉野丶 阅读数:4060 标签: excel导入数据库 文件上传 excel解析 更多个人分类: POI 工作问题归纳...

奥特曼之王
36分钟前
2
0
Mac OS下安装Axure RP 8.0.0.3312 中文破解版

Mac下一款快速原型设计工具——Axure RP,有了它可以大大提高你的工作效率。此次带来的是Axure RP 8.0.0.3312 版本。 介绍 Axure RP 能帮助网站需求设计者,快捷而简便的创建基于网站构架图的...

james_laughing
37分钟前
1
0
【Guava】使用Guava的RateLimiter做限流

一、常见的限流算法 目前常用的限流算法有两个:漏桶算法和令牌桶算法。 1.漏桶算法 漏桶算法的原理比较简单,请求进入到漏桶中,漏桶以一定的速率漏水。当请求过多时,水直接溢出。可以看出...

大海201506
39分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部