这几天单服务器整合项目很正常,集群的时候问题就来了,配置集群的Session时候已经使用Demo测试过正常的,项目一放上去就挂了,搞了差不多一个星期,其中还试过用Cookie来取代Session,因为安全问题放弃了,网上找了一下发现一个很不错的Tomcat的Session管理插件Memcached Session Manager,这个插件是基于Memcached实现的,配置方法如下:
先安装memcached server,首先解压memcached-1.2.6-win32-bin.zip到指定目录(eg:d:/memcached/),然后在cmd窗口上输入memcached -d install 进行安装服务, 然后输入 memcahced -d start启动服务器,服务器监听的端口是11211。
然后再把所需的jar包放到tomcat的lib目录下:
javolution-5.5.1.jar
msm-javolution-serializer-1.5.1.jar
memcached-2.6.jar
memcached-session-manager-1.5.1.jar
memcached-session-manager-tc6-1.5.1.jar
新建一个Web Project测试一下吧。
然后修改tomcat的server.xml配置文件,在Engine -> Host 元素里面配置虚拟上下文
<Context reloadable="true" path="/test" docBase="D:/Memcached" >
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:localhost:11211"
requestUriIgnorePattern=".*\.(png|gif|jpg|css|js){1}"
sessionBackupAsync="false"
sessionBackupTimeout="100"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"
copyCollectionsForSerialization="false"
/>
</Context>
这样既不就简单完成了。
附件:所需的jar包,不用麻烦去一个个下载。