转载:分布式Session共享:tomcat+memcached实现session共享
原文:http://www.cnblogs.com/notDog/p/5341219.html?utm_source=tuicool&utm_medium=referral
一、前言
本文主要测试memcached实现session共享的实现方式,不讨论如何让nginx参与实现负载均衡等。
二、环境配置
本测试在Window下进行
name | version | port |
Tomcat1 | 7.0.68 | 127.0.0.1:8001 |
Tomcat2 | 7.0.68 | 127.0.0.1:8002 |
Memcached | 1.4.2 | 127.0.0.1:11211 |
-
三、配置memcached-session-manager
3.1 获取jar包
首先需要Session管理相关的包
memcached-session-manager-1.9.2.jar
memcached-session-manager-tc7-1.9.2.jar
因为用到memcached,所以还需要
spymemcached-2.10.3.jar
序列化(只测试了两种方式,二选一即可)
kryo序列化方案(都说kryo序列化效率高)
asm-5.0.4.jar
kryo-3.0.3.jar
kryo-serializers-0.34.jar
minlog-1.3.0.jar
msm-kryo-serializer-1.9.2.jar
objenesis-1.2.jar
reflectasm-1.11.1.jar
javolution序列化方案
javolution-5.4.3.1.jar
msm-javolution-serializer-1.9.2.jar
msm-javolution-serializer-cglib-1.3.0.jar
msm-javolution-serializer-jodatime-1.3.0.jar
打包下载:
memcached-session-manager-1.9.2_By_kryo-serializer.rar
memcached-session-manager-1.9.2_By_javolution-serializer.rar
3.2 导入Jar包
把以上生成的jar放入tomcat的lib目录下,打开Context.xml,
如果采用javolution序列化方式,添加如下代码:
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"memcachedNodes="n1:localhost:11211" lockingMode="auto"sticky="false" requestUriIgnorePattern= ".*\.(png|gif|jpg|css|js)$" sessionBackupAsync= "false" sessionBackupTimeout= "100" copyCollectionsForSerialization="true" transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory" />
如果采用的是kryo序列化方式,添加如下代码:
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"memcachedNodes="n1:localhost:11211" lockingMode="auto"sticky="false" requestUriIgnorePattern= ".*\.(png|gif|jpg|css|js)$" sessionBackupAsync= "false" sessionBackupTimeout= "100" copyCollectionsForSerialization="true" transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory" />
3.3 测试结果
依次启动memcached,tomcat1,tomcat2
在浏览器中分别打开:
http://localhost:8001/examples/servlets/servlet/SessionExample
Session ID: 8BB1C837F4423CE4C4F1393D14C110C5-n1
http://localhost:8002/examples/servlets/servlet/SessionExample
Session ID: 8BB1C837F4423CE4C4F1393D14C110C5-n1
cmd进入命令提示符,输入
telnet 127.0.0.1 11211
连接memcached主机,输入
stats items
列出存入的数据列表
输入 state cachedump 5 0 查看key值
发现,三处SessionID是一致的。
转载:分布式Session共享:tomcat+memcached实现session共享相关推荐
- 分布式Session共享(二):tomcat+memcached实现session共享 - 萝卜兔子 - 博客园
分布式Session共享(二):tomcat+memcached实现session共享 - 萝卜兔子 - 博客园 http://www.cnblogs.com/notDog/p/5341219.htm ...
- Nginx+Tomcat+Memcached实现session共享
实验环境: server1:nginx tomcat memcached server2:tomcat memcached Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入 ...
- Redis的session管理和Memcached的session管理不同
- 将tomcat的session信息通过memcached实现共享
为什么80%的码农都做不了架构师?>>> 1.先学大拿来点介绍 MSM(memcached-session-manager)支持tomcat6和tomcat7 ,利用Value ...
- Nginx+Tomcat+Memecached实现session共享配置
这段时间一直在搞项目部署,以前从来没做过,感觉很吃力,下面这个是自己配的Ubuntu下Nginx+Tomcat+Memecached实现session共享配置参考文档,欢迎大家拍砖,不知为啥sessi ...
- Tomcat中的Session小结
什么是Session 对Tomcat而言,Session是一块在服务器开辟的内存空间,其存储结构为ConcurrentHashMap: Session的目的 Http协议是一种无状态协议,即每次服务端 ...
- session机制详解以及session的相关应用
2019独角兽企业重金招聘Python工程师标准>>> session是web开发里一个重要的概念,在大多数web应用里session都是被当做现成的东西,拿来就直接用,但是一些复杂 ...
- tomcat实现session集群及tomcat+memcached共享session存储(四)
接博客nginx或httpd实现负载均衡tomcat(三) tomcat实现会话管理原理及实现: tomcat管理会话使用的专用的会话管理组件,tomcat的会话管理器有4种: 1.标准会话管理器(S ...
- Nginx+tomcat+memcached缓存共享session
Nginx+tomcat+memcached缓存共享session session 的序列化方案官方推荐的有 4 种: 1. java serialization 2. msm-kryo-serial ...
最新文章
- pat 1060. Are They Equal (25)
- 屠榜大杀器UniMP!百度登顶图神经网络权威榜单三项榜首
- mysql解压版(免装版)安装过程缺失data文件处理方式
- 代码 直接调节显示设备亮度_投影仪太暗怎么调整?如何给投影机增加亮度?颜色也能调吗?这项功能必须要有...
- ssl1761-城市问题【图论,最短路,Dijkstra】
- 浅析FastDFS及所遇问题集锦
- python画散点图分布-python中画散点图
- VC6中编译器/zm问题
- java中如何写前端代码怎么写_如何编写规范的、可维护的前端代码?
- RANSAC介绍(Matlab版直线拟合+平面拟合)
- 大话无线通讯基础之:WIFI和5G信道划分
- ShareX(截图工具) 绿色版,功能异常强大
- Python 抓取钢铁价格 ==> 计算季度平均价格
- 石家庄地铁(李秦,王学云)2
- PGM学习之四 Factor,Reasoning
- 包中校中辉盛业集团荣获“中国优秀诚信品牌”奖项
- Github 上 lux 下载神器的安装及使用教程
- MiL 和 SiL简单介绍
- 原生JavaScript实现的简易计算器
- base64编码转换android,Android将base64编码转化成图片