这几天单服务器整合项目很正常,集群的时候问题就来了,配置集群的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 元素里面配置虚拟上下文
Eg:
<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包,不用麻烦去一个个下载。
分享到:
相关推荐
本篇文章将深入探讨Tomcat集群中session共享的解决方案,以及相关的应用知识。 1. **Session复制**:这是最基础的session共享方法。通过配置Tomcat的`cluster`模块,可以设置session复制策略。每当一个session在...
一、Tomcat集群session共享的基本概念 session共享是指在Tomcat集群环境中,当用户在集群中的一个实例创建了session后,这个session的信息能够被其他实例识别和使用,确保用户在集群中的任意一个节点都能继续其之前...
以下是几种常见的Tomcat集群Session共享方案,包括其实现过程、优缺点和可能遇到的问题。 1. **基于Cookie+Redis+Filter解决方案** - 实现过程:用户登录后,将Session ID与用户信息存入Redis,并在客户端设置一个...
总的来说,通过使用Redis作为Session存储,Tomcat集群能够提供更高效、更一致的用户体验,同时降低了Session丢失的风险。这是一项高级的系统架构技术,对于处理高并发、需要保持用户状态的Web应用来说是必不可少的。...
:“Tomcat集群Nginx使用Redis保证Session同步”这一场景中,通常是因为在多台Tomcat服务器组成的集群中,每个服务器各自维护独立的Session,当用户在集群中的不同服务器之间切换时,可能会导致Session丢失或冲突。...
标题中的"Tomcat集群Session共享所有文件.zip"表明这是一个关于如何在三台服务器的Tomcat集群中实现Session共享的教程和代码集合。 Session共享的目的是确保用户在集群中的任何一台服务器上操作时,其状态都能被...
在这个场景中,我们关注的是如何在Tomcat集群环境中实现Session共享,以便提高应用程序的可扩展性和可用性。标题和描述提到的“session共享包”是解决这一问题的关键。 **什么是Session?** 在Web应用中,Session是...
总结来说,这个"tomcat8+redis集群 session共享jar"的组合提供了一种高效且可扩展的session管理解决方案。它利用了Tomcat 8的灵活性、Redis的高速缓存能力以及Java的便捷性,使得在分布式环境中处理session变得更加...
在这种场景下,"用Redis存储Tomcat集群的Session"是一种常见的解决方案。这里我们将深入探讨如何实现这个方案,以及它背后的原理和优势。 1. **Redis简介** Redis是一个开源的、高性能的键值存储系统,常用于缓存...
值得注意的是,这种解决方案也有一些潜在的问题,例如网络延迟可能导致性能下降,以及Redis作为单点故障,可能需要考虑高可用性部署。此外,为了保证数据安全,还可以配置Redis进行数据持久化,防止服务器重启导致...
文件名“tomcat-redis-session”暗示了使用Redis作为共享Session的解决方案。以下是具体步骤: - 配置Redis服务器并确保其正常运行。 - 在Tomcat的`conf/context.xml`或应用的`WEB-INF/web.xml`中添加`Manager`元素...
标题中的"Tomcat+Redis集群Session共享所需jar"指出,这是一个关于使用Redis集群来实现Tomcat服务器中的Session共享的解决方案。在分布式系统中,Session共享是确保用户在不同服务器之间切换时仍然保持登录状态的...
但是,由于每个Tomcat实例都有自己的Session存储,如果用户在集群中的不同服务器之间切换,会导致Session丢失。这就是需要解决的问题。 为了解决这个问题,引入了Memcached,这是一个高性能的分布式内存对象缓存...
在构建高性能、高可用性的Web应用系统时,Apache与Tomcat的集群配置是常见的解决方案。Apache作为前端服务器,可以通过负载均衡技术将用户请求分发到多个后端的Tomcat实例上,实现请求的分担,同时通过session同步,...
总的来说,这个解决方案提供了在Tomcat集群环境中,利用Redis进行session共享的方法,有助于提高应用的可扩展性和用户体验。通过这种方式,即使用户在集群中的不同服务器之间切换,他们的session信息也能被正确地...
Memcached-Session-Manager是解决这个问题的一个优秀解决方案,它允许我们将用户的Session数据存储在内存缓存系统——Memcached中,从而实现跨Tomcat实例的Session共享。下面将详细介绍Memcached-Session-Manager的...
Redis-Tomcat-Session 共享包是一种解决方案,旨在帮助开发者在分布式环境中管理Tomcat应用服务器的会话(session)数据。在传统的Web应用程序中,每个用户的会话信息通常存储在单个应用服务器的内存中,这在多...
Tomcat提供了多种Session共享的解决方案,其中包括使用`tomcat-cluster-redis-session-manager`。这是一个专门为Tomcat设计的Session管理器,它允许我们将Session存储和复制到Redis中。配置这个管理器时,我们需要在...
《深入理解Tomcat-Redis-Session-Manager:在Tomcat7和Tomcat8中的应用》 ...无论是为了提升服务性能,还是为了应对复杂的集群环境,Tomcat-Redis-Session-Manager都是一个值得考虑的优秀解决方案。