Tomcat基于memcached会话共享

栏目: 数据库 · 发布时间: 6年前

内容简介:Tomcat基于memcached会话共享

安装两台memcache,基于tomcat做会话同步;(只对动态内容缓存,用于追踪用户会话)

前提:
两个tomcat节点:172.16.100.7(tomcatA.magedu.com),172.16.100.8(tomcatB.magedu.com)
两个 memcached 节点:172.16.100.9, 172.16.100.10
一个负载均衡节点:172.16.100.6

Tomcat基于memcached会话共享
两台安装完tomcat,再yum安装memcached即可;下面这个memcached项目就是为了tomcat增加一个新的会话管理器:放在tomcat的lib下即可;注意memcached要和你的tomcat版本一致;

memcached-session-manager项目地址:https://github.com/magro/memcached-session-manager

memcached配置文件:/etc/sysconfig/memcached  建议修改缓存空间大小CACHESIZE,M为单位

教室环境下下载安装包,lftp 172.18.0.1:/pub/Sources/7.x86_64/msm> mget * 其他环境参考上述GitHub网站下载
现在两台tomcat版本都为7,所以删除掉不需要的memcached依赖包:rm -rf memcached-session-manager-tc8-1.8.3.jar
然后将几类包放置到tomcat对应的lib相关目录下:mv *.jar /usr/share/tomcat/lib
随后修改tomcat配置文件,添加在Host上下文中:

分别在两个tomcat上的某host上定义一个用于测试的context容器,并在其中创建一个会话管理器,如下所示(修改对应参数,如docBase路径,n1和n2地址):

<Context path=”/test” docBase=”/usr/share/tomcat/webapps/test” reloadable=”true”>
<Manager className=”de.javakaffee.web.msm.MemcachedBackupSessionManager”
memcachedNodes=”n1:172.16.100.9:11211,n2:172.16.100.10:11211″
failoverNodes=”n1″
requestUriIgnorePattern=”.*\.(ico|png|gif|jpg|css|js)$”
transcoderFactoryClass=”de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory”
/>
</Context>

分别为两个context提供测试页面:

tomcatA:
mkdir -pv /usr/local/tomcat/webapps/test/WEB-INF/{classes,lib}
vim /usr/share/tomcat/webapps/test/index.jsp   

<%@ page language=”java” %>
<html>
<head><title>TomcatA</title></head>
<body>
<h1><font color=”red”>TomcatA.magedu.com</font></h1>
<table align=”centre” border=”1″>
<tr>
<td>Session ID</td>
<% session.setAttribute(“magedu.com”,”magedu.com”); %>
<td><%= session.getId() %></td>
</tr>
<tr>
<td>Created on</td>
<td><%= session.getCreationTime() %></td>
</tr>
</table>
</body>
</html>

上述为tomcat1,tomcat2节点和memcached2与上述安装配置基本一致,就/usr/share/tomcat/webapps/test/index.jsp页面信息有些改变:

<%@ page language=”java” %>
<html>
<head><title>TomcatB</title></head>
<body>
<h1><font color=”blue”>TomcatB.magedu.com</font></h1>
<table align=”centre” border=”1″>
<tr>
<td>Session ID</td>
<% session.setAttribute(“magedu.com”,”magedu.com”); %>
<td><%= session.getId() %></td>
</tr>
<tr>
<td>Created on</td>
<td><%= session.getCreationTime() %></td>
</tr>
</table>
</body>
</html>

最后在172.16.100.6的nginx上配置反向代理的负载均衡内容即可,测试访问:

Tomcat基于memcached会话共享

Tomcat基于memcached会话共享 注意会话内容是一致;


以上所述就是小编给大家介绍的《Tomcat基于memcached会话共享》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Swift编程权威指南(第2版)

Swift编程权威指南(第2版)

[美] Matthew Mathias、[美] John Gallagher / 陈晓亮 / 人民邮电出版社 / 2017-6 / 89.00元

Big Nerd Ranch是美国一家专业的移动开发技术培训机构,本书是其培训教材。书中系统讲解了在iOS和macOS平台上,使用苹果的Swift语言开发iPhone、iPad和Mac应用的基本概念和编程技巧。主要围绕使用Swift语言进行iOS和macOS开发,结合大量代码示例,教会读者利用高级iOS和macOS特性开发真实的应用。一起来看看 《Swift编程权威指南(第2版)》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器