Session Cache Server 及Tomcat集群架构之二:用Memcached 实现简单Session Cache Server

Memcached 实现简单Session Cache Server

 

前面写了“Session Cache Server Tomcat集群架构概念”,这次简单实现了单个Session Cache Server,发布出来供大家参考学习,希望能抛砖引玉。

这个实现参考了javaeye  网友codeutil的文章和代码:http://www.javaeye.com/topic/81641

我的实现是重写了StandardManagerStandardSession

StandardManager实现session的查找和更新。

StandardSession中实现将所有的session数据全部储存在memcached上,tomcat不储存session数据,基本储存结构如下:

数据类型

Key

Value

Session

SESSION_IDS

Set,储存所有的Session ID

Session ID

Session id

Set,储存所有该session相关的数据项Key

Session Data

Data key+@+session id

Key 对应的自定义数据,必须实现Serializable接口

 

注意:本代码只是用来测试学习,并非完整可靠的实现,切勿用于正式生产系统。

附件测试的使用

下载附件,解压后,如下图:

 

其所有配置都已经配置好,运行批处理即可测试。

Start.bat 为所有的启动批处理

Stop.bat 为所有的关闭批处理

Scs.jar包括了实现的源代码和配置文件。

启动后用http://localhost:81/scs/jsp3.jsp访问

注意:为防止端口冲突,Nginx服务端口修改成了81Tomcat 12的端口分别是:8480/85808405/85058409/8509

Tomcat的配置是在conf/context.xml中添加Manager节点,配置自己实现的Manager类:

 

 

下面是运行中的一些截图,供参考:

 

刷新后:

猜你喜欢

转载自hai0378.iteye.com/blog/2183667