由于项目需要测试日均千万交易的性能测试,故使用Nginx作为反向代理实现了多个Tomcat的负载均衡,为了实现多个Tomcat之间的session共享,使用了开源的Memcached-Session-Manager框架。以下是项目构建过程:
1)构建nginx + 2Tomcat的负载均衡(由于未实现session共享,只能访问应用的登陆页面);
2)安装memcached(windows环境);
3)配置msm环境实现session共享;
主要对msm环境实现session共享做个介绍:
1)下载jar包:
couchbase-client-1.0.3.jar
javolution-5.4.3.1.jar
kryo-1.04.jar
kryo-2.24.0.jar
kryo-serializers-0.9.jar
memcached-2.6.jar
memcached-session-manager-1.5.1.jar
memcached-session-manager-tc7-1.5.1.jar
minlog-1.2.jar
msm-javolution-serializer-1.5.1.jar
msm-kryo-serializer-1.5.1.jar
msm-xstream-serializer-1.5.1.jar
2)把下载的jar包放到%TOMCAT_HOMT%\lib中。
3)配置%TOMCAT_HOME%\config\context.xml
在Context.xml文件中加入
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:127.0.0.1:11211"
sticky="false"
lockingMode="auto"
sessionBackupAsync="false"
sessionBackupTimeout="1000"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
/>
最后启动tomcat,启动成功则表示msm环境构建成功。