搭建memcached session manager

搭建环境:

Memcached-1:192.168.0.210

Memcached-2:192.168.0.211

Nginx+tomcat:192.168.0.212

Nginx+tomcat:192.168.0.227

一.下载libevent-2.0.21-stable.tar.gz和memcached-1.4.20.tar.gz

1.安装libevent


1 #wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
2 #tar –zxvf libevent-2.0.21-stable.tar.gz
3 #cd libevent-2.0.21-stable
4 #./configure
5 #make
6 #make install

2.安装memcached


1 #wget http://memcached.org/latest
2 #tar –zxvf memcached-1.4.20.tar.gz
3 #cd memcached-1.4.20
4 #./configure
5 #make
6 #make install

3.启动memcached


1 # -vv控制台输出
2 # -d 后台运行
3 #/usr/local/bin/memcached –d –u root

解决办法为:

#whereis libevent-2.0.so.5

libevent-2.0.so.5: /usr/local/lib/libevent-2.0.so.5

#ldd /usr/local/bin/memcached

启动后,可以telnet查看下状态

telnet 1270.0.1 11211

二.MSM配置

MSM(memcached-session-manager) 支持tomcat6 和tomcat7 ,利用 Value(Tomcat 阀)对Request进行跟踪。Request请求到来时,从memcached加载session,Request请求结束时,将tomcat
session更新至memcached,以达到session共享之目的, 支持 sticky
 和 non-sticky 模式。

黏性(sticky)session:

Sticky 模式:   tomcat
session 为 主session, memcached 为备 session。Request请求到来时, 从memcached加载备 session到 tomcat
(仅当tomcat jvmroute发生变化时,否则直接取tomcat session);Request请求结束时,将tomcat
session更新至memcached,以达到主备同步之目的。

非黏性( non-sticky)session:

Non-Sticky模式:tomcat
session 为 中转session, memcached1 为主 sessionmemcached
2 为备session。Request请求到来时,从memcached
2加载备 session 到 tomcat,(当 容器 中还是没有session 则从memcached1加载主 session 到 tomcat, 这种情况是只有一个memcached节点,或者有memcached1 出错时),Request请求结束时,将tomcat
session更新至主memcached1和备memcached2,并且清除tomcat session 。以达到主备同步之目的。

选择使用序列化策略,一般推荐kryo-serializer


1 <dependency>
2 <groupId>de.javakaffee.msm</groupId>
3 <artifactId>msm-kryo-serializer</artifactId>
4 <version>1.6.0</version>
5 <scope>runtime</scope>
6 </dependency>

MSM所需jar包

参考网址:https://code.google.com/p/memcached-session-manager/wiki/SetupAndConfiguration

需要注意的是memcached-session-manager-1.8.1.jar也是需要的,并非只有

memcached-session-manager-tc6.1.8.1.jar

将以上jar包放置tomcat的lib下

修个tomcat的context.xml,添加以下内容:

使用kryo序列化方式,memcached缓存

启动tomcat,访问jsp网站成功,说明配置完毕

测试session共享页面:


 1 <%@ page contentType="text/html; charset=GBK" %>
2 <%@ page import="java.util.*" %>
3 <html><head><title>Cluster Test</title></head>
4 <body>
5 <%
6 //HttpSession session = request.getSession(true);
7 System.out.println(session.getId());
8 out.println("<br> SESSION ID:" + session.getId()+"<br>");
9 %>
10 </body>

其中测试时要把2台物理机中一台nginx停掉,而非tomcat.查看session是否有变化即可

搭建memcached session manager,布布扣,bubuko.com

时间: 2024-08-09 04:18:11

搭建memcached session manager的相关文章

使用msm(memcached session manager)实现会话服务器

很多场景下,用户的访问网站的会话信息都需要保存,实现会话保存的方式有三种: 1.session绑定 2.session复制,在多个集群的节点间复制会话信息到各个节点 3.session服务器,使用单独的服务器专门用于保存会话信息.实验过程要实现的是第三种方式,使用session服务器的方式来保存用户的会话信息. 实验用机: 两台前端tomcat集群,使用httpd做反向代理,请用户请求转发至后端的tomcat集群,同时有两台memcached服务器用于保存用户的会话信息,其中有一个节点作为备用会

tomcat + memcached session manager共享session

网上有很多关于通过MSM(memcached session manager)实现memcached共享session的文章,但是很多都是东拼西凑,误导别人.正巧最近有一个地方用到,特此总结一下. MSM支持tomcat6,tomcat7,tomcat8,MSM支持两种模式:sticky sessions(粘性session)和non-sticky sessions(非粘性session).我用到的是sticky session,所以以下都按照sticky session 来介绍.集群结构是2个

如何搭建memcached服务器

本实验的目标是搭建memcached服务器,验证测试网站客户端如何 连接上memcached服务器,并用集群来验证session会话ID 一.前期准备工作,准备两台服务器,一台做memcached服务器(A:4.123), 一台做网站服务器(B:4.124) 1.在A上安装软件: yum -y install memcached.x86_64 telnet(远程服务器测试用) 2.在B上配置安装LNMP环境 二.在服务器A上的操作 1.配置配置文件:vim /etc/sysconfig/memc

Nginx + tomcat + Memcached(session共享)

Nginx + tomcat + Memcached(session共享) 实验拓扑 nginx   实现负载 tomcat   实现web功能 memcached 实现会话共享 安装Nginx [[email protected] ~]# yum -y install pcre pcre-devel [[email protected] ~]# tar -zxvf nginx-1.0.5.tar.gz [[email protected] ~]# cd nginx-1.0.5 [[email 

Linux下安装搭建Memcached集群环境

Linux下安装搭建Memcached集群环境

每日一记:搭建Memcached + php 缓存系统

服务器环境,Centos6.5 1.安装Memcached服务端 Yum -y install memcached 2.配置Memcached服务端用户以及自动启动服务等 将服务配置成自启动 chkconfig --level 2345 memcached on 3.配置配置文件 vi /etc/sysconfig/memcached PORT=”11211″ 端口  USER=”root” 使用的用户名  MAXCONN=”1024″ 同时最大连接数 CACHESIZE=”64″ 使用的内存大

搭建Memcached + php 缓存系统

服务器环境,Centos6.5 1.安装Memcached服务端 Yum -y install memcached 2.配置Memcached服务端用户以及自动启动服务等 将服务配置成自启动 chkconfig --level 2345 memcached on 3.配置配置文件 vi /etc/sysconfig/memcached PORT=”11211″ 端口  USER=”root” 使用的用户名  MAXCONN=”1024″ 同时最大连接数 CACHESIZE=”64″ 使用的内存大

巧用Session Manager还原Firefox丢失会话

今天Firefox Crash之后,我的会话全部丢失了.按照以往来说,Firefox在重新启动之后或者Crash之后会有一个会话还原的页面.但今天确实没有.后来我进行Google查阅,试了很多种办法.终于找到一种非常快速方便的还原步骤. 首先简单说明下Firefox记录会话的机制,他会在每个用户的Profile下放入相应的session.js和session.bak,一般只需要用到js即可,在每次重启Firefox的时候他会去检索这些文件,然后根据里面的条目来进行自动加载.但有时候,Firefo

Magent搭建Memcached集群

Magent搭建Memcached集群 Memcached集群介绍 由于Memcached服务器与服务器之间没有任何通讯,并且不进行任何数据复制备份,所以当任何服务器节点出现故障时,会出现单点故障,如果需要实现HA,则需要通过另外的方式来解决. 通过Magent缓存代理,防止单点现象,缓存代理也可以做备份,通过客户端连接到缓存代理服务器,缓存代理服务器连接缓存连接服务器,缓存代理服务器可以连接多台Memcached机器可以将每台Memcached机器进行数据同步.如果其中一台缓存服务器down机