linux下实现redis共享session的tomcat集群
为了实现主域名与子域名的下不同的产品间一次登录,到处访问的效果,因此采用rediss实现tomcat的集群效果。基于redis能够异步讲缓存内容固化到磁盘上,从而当服务器意外重启后,仍然能够让session还未失效的用户重新登录,这正是相对于memcached的优点,因此采用redis作为session共享存储工具。
- redis安装
- 发布tomcat-redis-session-manager.jar
从 https://github.com/jcoleman/tomcat-redis-session-manager下载tomcat-redis-session-manager的最新源代码,并使用gradle发布成jar格式的类包。
- 给TOMCAT_HOME/lib上传类包
采用redis的tomcat集群需要jedis-2.6.2.jar,commons-pool2-2.3.jar类包支持。将以下两个类包上传到tomcat安装目录下的lib目录中
1、jedis下载地址
http://grepcode.com/project/repo1.maven.org/maven2/redis.clients/jedis/
2、commons-pool下载地址
http://commons.apache.org/proper/commons-pool/download_pool.cgi
3、tomcat-juli-adapters.jar,tomcat-juli.jar
根据tomcat版本下载相应的扩展插件类包
http://tomcat.apache.org/download-70.cgi
- 配置tomcat
在tomcat_HOME/conf/context.xml中添加以下配置信息
<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
host="redis的ip地址"
port="redis的port"
database="0"
maxInactiveInterval="60"
/>
- 验证使用redis共享session集群是否成功
1、tomcat集群共享session
可实现tomcat集群session共享,可进行水平扩展tomcat。终止一台tomcat工作,web应用仍然可以继续访问
2、主域名与二级域名实现共享session
实现主域名和二级域名共享session,实现单点登录,实现前面的功能还需要规定sessionCookieName必须统一为主域名。
实现单点登录的不同应用中与session的相关javabean,必须能够进行序列化和反序列化。
sticky_session和sticky_session_force设置对session的影响
通过redis实现session共享方式实现集群,sessionid是固定的,不会受到sticky_session和sticky_session_force设置值得印象。jk负载到不同的tomcat都不会导致sessionid变化。
只有通过组播通讯实现的tomcat集群,当设置sticky_session和sticky_session_force设置后会产生sessionid的变化。
linux下实现redis共享session的tomcat集群的更多相关文章
- Spring Boot+redis存储session,满足集群部署、分布式系统的session共享
本文讲述spring-boot工程中使用spring-session机制进行安全认证,并且通过redis存储session,满足集群部署.分布式系统的session共享. 原文链接:https://w ...
- 基于redis实现tomcat8的tomcat集群的session持久化实现(tomcat-redis-session-manager二次开发)
前言: 本项目是基于jcoleman的tomcat-redis-session-manager二次开发版本 1.修改了小部分实现逻辑 2.去除对juni.jar包的依赖 3.去除无效代码和老版本tom ...
- 利用Redis发布订阅完成tomcat集群下的消息通知
以下为个人想法,如果有说的不对的地方请各位大佬见谅! 这是博主的第一篇博客,可能排版以及一些描述有不合理的地方还请勿喷,希望大家尽可能的多给我这样的新人一些鼓励让我能在写博客的道路上走下去. 进入正题 ...
- Centos7下ELK+Redis日志分析平台的集群环境部署记录
之前的文档介绍了ELK架构的基础知识,日志集中分析系统的实施方案:- ELK+Redis- ELK+Filebeat - ELK+Filebeat+Redis- ELK+Filebeat+Kafka+ ...
- linux下nacos的1.1.3版本集群部署
windows单机版参见0.9.0.RELEASE版本的spring cloud alibaba nacos实例 ,linux集群版我们还是用上次下载的nacos压缩包,通过rz -y上传到wlf用户 ...
- linux下安装 zookeeper-3.4.9并搭建集群环境
本文主要记录作者在实践过程中实现在centos7环境下安装zookeeper并搭建集群的详细步骤,关于zookeeper本文将不做详细介绍,安装步骤详情如下: 前提准备:3台linux服务器(因为zo ...
- linux下部署Elasticsearch6.8.1版本的集群
一.准备工作 安装包的下载:elasticsearch-6.8.1.tar.gz 集群服务器:A B 一.单节点elasticsearch的安装部署 a.进入es的下载目录home:解压tar ...
- linux+apache+mod_Jk+tomcat实现tomcat集群
最近一段时间一直在研究实现apache + jk_mod + tomcat实现负载均衡,起初负载均衡算是配置蛮顺利的,但是到了配置tomcat集群时所有配置都没有问题,但是tomcat日志中一直提示没 ...
- Linux+Apache+Tomcat集群配置
参考: http://blog.csdn.net/bluishglc/article/details/6867358# http://andashu.blog.51cto.com/8673810/13 ...
随机推荐
- 【Xamarin挖墙脚系列:Xamarin开发环境配置需求】
原文:[Xamarin挖墙脚系列:Xamarin开发环境配置需求] 前言 因为操作的全是大块头,加大你们的内存,CPU网上飙.... 卤煮的机器配置 最近的版本部署包,百度云离线下载:版本:Xama ...
- 解析Android开发优化之:对Bitmap的内存优化详解
在Android应用里,最耗费内存的就是图片资源.而且在Android系统中,读取位图Bitmap时,分给虚拟机中的图片的堆栈大小只有8M,如果超出了,就会出现OutOfMemory异常.所以,对于图 ...
- C++ Prime:函数
局部静态对象: 某些时候,有必要令局部变量的生命周期贯穿函数调用及之后的时间.可以将局部变量定义成static类型从而获得这样的对象.局部静态对象在程序执行路径第一次经过对象定义语句时初始化,并且直到 ...
- Xmanager Enterprise 4 使用说明
Xmanager Enterprise 4 使用说明 安装Xmanager Enterprise 4操作步骤比较简单,下一步即可完成. Xbrowser 使用xdcmp 协议通过图形化桌面远程连接到l ...
- linux使用crontab -e 遇到No space left on device
今天用linux的crontab -e编辑定时脚本的时候.遇到No space left on device的错误. 网上找了半天终于知道原因了,昨天晚上我的一个任务因为路径没写对,到时crontab ...
- BZOJ2287: 【POJ Challenge】消失之物
2287: [POJ Challenge]消失之物 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 254 Solved: 140[Submit][S ...
- Unity3D插件之Easy Touch 3.1(1): Easy Joystick
先看官方介绍:https://www.assetstore.unity3d.com/#/content/3322 (Allows you to quickly and easily develop a ...
- Linux学习笔记32——select()函数分析【转】
Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如 connect.accept.recv或recvfrom这样的阻塞程序 ...
- Ubuntu下安装PAC Manager
在Windows下习惯使用XShell.PAC Manager其实就是一个在Linux系统类似XShell的工具. 下载地址: https://sourceforge.net/projects/pac ...
- 日志配置logback
在选择项目日志框架时,发现log4j的作者开发了新的日志框架,据说性能提高不少,那就选它了,不过,除了配置上有点不习惯外,最重要的一点 ,打印线程号这个功能依然没有(打印线程名这个东西是在是个鸡肋). ...