`
javafan_303
  • 浏览: 957165 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用memcache 管理session

阅读更多

一、下载下列几个 Jar包
http://memcached-session-manager.googlecode.com/files/memcached-session-manager-1.3.0.jar
http://memcached-session-manager.googlecode.com/files/msm-javolution-serializer-jodatime-1.3.0.jar
http://memcached-session-manager.googlecode.com/files/msm-javolution-serializer-cglib-1.3.0.jar
http://spymemcached.googlecode.com/files/memcached-2.4.2.jar
http://memcached-session-manager.googlecode.com/files/javolution-5.4.3.1.jar

将以下几个Jar包Copy到 $TOMCAT_HOME/lib目下,每个Tomcat节点都需要有。

二、配置Tomcat的Server.xml配置文件,样本可以点击这里下载,主要内容如下:
http://www.javabloger.com/images/2010-05/webcluster/server.xml.txt

 <Context docBase="D:\webapp" path="" reloadable="true" > 
 <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager" 
     memcachedNodes="n1:localhost:11211" 
     requestUriIgnorePattern=".*\.(png|gif|jpg|css|js)$" 
     sessionBackupAsync="false" 
     sessionBackupTimeout="100" 
    transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory" 
     copyCollectionsForSerialization="false" 
     /> 
 </Context>

每个Tomcat的节点都需要修改。

三、前端分发的Ngixn的配置文件也需要修改,样本可以点击这里下载,主要内容如下:
http://www.javabloger.com/images/2010-05/webcluster/nginx.conf.txt
#gzip  on; 
      upstream  www.docyeah.com   { 
                server   192.168.1.103:81; 
                server   192.168.1.103:82; 
      } 

最后访问测试的JSP页面,进行刷新:
http://www.javabloger.com/images/2010-05/webcluster/msem.jsp.txt
页面上出现:SessionID:292621C48C4D6B27F40290039081492A-n1 一直不变,说明你经过前端 Ngixn 进行分发,跳转到任何一台服务器都是从Memcached中读取session,这样web容器中的 session就集中在一个地方了。并且每台机器都可以进行计算客户端发出的请求,实现了session共享和压力分载,下图中显示了每台Tomcat容 器中打印了各打印了2次 Hello World,说明分散的计算了客户端发出的请求。

采用这种方案的优势在于,如果最前端换成IP策略的负载均衡,例如:LVS、Iptables,或者HA-Proxy 都可以,并且可以提高前端负载均衡器的工作效率。通过这样的思路,还可以进行对这个工具进行改写成向数据库写入的方案。

如图所示:
http://www.javabloger.com/images/2010-05/webcluster/Ngixn-j2ee-tomcat-memcache-session-share_s.jpg

 

 

转载http://www.javabloger.com/article/ngixn-j2ee-tomcat-memcache-session-share.html

分享到:
评论

相关推荐

    解决tomcat7,8使用memcache管理session时出现NoSuchFieldError:attributes错误的完整jar包

    当我们在Tomcat中使用Memcache来管理session时,可能会遇到一些技术问题,如在本例中的`NoSuchFieldError: attributes`错误。 `NoSuchFieldError`通常在运行时出现,当尝试访问一个不存在于类或接口中的字段时抛出...

    集群环境下memcache解决session共享

    本篇将深入探讨如何在Tomcat8的集群环境中使用memcache来解决session共享的问题。 首先,让我们理解什么是session。Session是Web应用程序用来跟踪用户状态的一种机制,它存储在服务器端,通常包含了用户的登录信息...

    memcache共享session用到的jar

    2. **配置Session管理器**:在Web应用的配置文件(如web.xml)中,设置session管理器,指定使用Memcache作为session存储的后端。 3. **初始化Memcache连接**:在应用启动时,建立与Memcache服务器的连接,并设置好...

    tomcat7 通过memcache 实现 session共享依赖包

    标题中的“tomcat7 通过memcache 实现 session共享依赖包”指的是在Tomcat7服务器中,使用Memcache作为缓存系统来实现跨应用或跨服务器的session共享。这是一个技术解决方案,通常在分布式环境中,当有多个Tomcat...

    tomcat6 memcache session manager session共享 jar包下载

    描述中提到,“用于tomcat6 使用memcache 实现session共享的jar包”,这表明这些jar文件是为Tomcat6设计的插件或库,目的是通过Memcache这个内存缓存系统来存储和管理Session数据。Memcache是一个高性能、分布式的...

    tomcat7通过memcache 实现 session共享

    -- memcache 管理 session --&gt; &lt;groupId&gt;de.javakaffee.msm &lt;artifactId&gt;msm-kryo-serializer &lt;version&gt;1.6.2 &lt;groupId&gt;de.javakaffee &lt;artifactId&gt;kryo-serializers &lt;version&gt;0.9 &lt;/dependency&gt;

    PHP实现多服务器session共享之memcache共享.rar

    总的来说,"PHP实现多服务器session共享之memcache共享"这个主题涵盖的知识点包括:session管理、分布式存储、memcache的使用、PHP配置、并发控制以及系统扩展性设计。掌握这些知识对于构建高可用、可扩展的Web应用...

    tomcat整合nginx负载均衡+memcache共享session全部程序包

    - **Session管理**:Tomcat默认的Session管理机制在集群环境中可能导致Session丢失,因此需要结合Memcache实现Session共享。 3. **Memcache**: - **Session共享**:Memcache是一个高性能的分布式内存对象缓存...

    tomcat8_memcache_session共享jar.zip

    "memcache_session"指的是使用Memcached作为会话存储机制。Memcached是一种高性能的分布式内存对象缓存系统,用于在分布式计算环境中存储临时数据,如Web应用的会话数据。通过将会话数据存储在Memcached中,所有集群...

    session共享之memcache Redis

    标题中的“session共享之memcache Redis”指的是在Web开发中如何使用memcache和Redis来实现会话(session)数据的跨服务器共享。会话管理是Web应用中的关键部分,它允许用户在不同页面间保持状态,例如登录信息、...

    Memcache Session Manager + Tomcat8.5.6

    标题中的“Memcache Session Manager + Tomcat8.5.6”指的是在Tomcat 8.5.6版本中,利用Memcache作为会话管理器来实现跨服务器的session共享。Memcache是一个高性能、分布式内存对象缓存系统,常用于缓解数据库压力...

    Memcache Session Manager Tomcat8.5.6

    标题 "Memcache Session Manager Tomcat8.5.6" 指的是在Tomcat 8.5.6版本中使用Memcache作为会话管理器的一种配置。这种配置旨在提高Web应用在集群环境下的性能和可扩展性,通过将用户的会话数据存储在分布式缓存...

    PHP中使用memcache存储session的三种配置方法

    这里的`session.save_handler`设置为`memcache`表示我们将使用memcache作为session的处理器。`memcache.hash_strategy`用于选择Memcache的哈希策略,`consistent`是一种哈希算法,能够保持同一个key在同一个服务器上...

    Apache+Tomcat实现负载均衡及集群(session同步)--五、session同步(3)使用memcache

    2. **Tomcat配置session复制**:在Tomcat的`server.xml`文件中,配置`Manager`元素来使用一个支持memcache的session管理器,例如`MemcachedSessionManager`。你需要指定memcache服务器的地址和端口,以及相关配置...

    session共享 tomcat+nginx+memcache

    在构建分布式系统时,Session共享是一个关键问题,特别是在使用多台服务器(如Tomcat)和负载均衡器(如Nginx)的环境中。本压缩包提供的资源是为了解决这个问题,通过集成Memcached来实现Session的集中式管理,从而...

    tomcat7集群session共享memcache依赖包1.8.3

    这个组件提供了对Memcached的支持,并且可以替换Tomcat原有的Session管理器。安装和配置步骤如下: 1. 下载并解压提供的压缩包"tomcat7ClusterMemcacheSession共享1.8.3"。 2. 将解压后的jar文件(如:memcached-...

    深入Memcache的Session数据的多服务器共享详解

    1. **配置Memcache服务器集群**:设置多个Memcache服务器节点,使用一致性哈希策略分配session数据,确保sessionid对应的数据始终存储在同一台服务器上。 2. **自定义session_id**:允许在启动session之前通过`...

    memcache_php使用测试

    - **session.save_handler** 和 **session.save_path**: 分别用于指定会话处理方式和会话存储路径,将save_handler设为memcache,即可利用memcache进行会话管理,同时,通过定义save_path中的服务器链接,可以实现跨...

    【汇总】Memcache

    3. **session共享**:在分布式环境中,可以使用Memcache共享用户session,避免session复制导致的性能下降。 4. **API调用缓存**:对于慢速的外部API调用,可以先将其结果缓存,减少网络延迟。 ### 五、操作示例 ...

Global site tag (gtag.js) - Google Analytics