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

用memcached-session-manager实现Tomcat集群

    博客分类:
  • web
阅读更多

之前介绍过用Tomcat自身的Cluster做集群。还有一种方式是通过memcached保存session,实现多台tomcat共享session。开源项目memcached-session-manager实现了这个功能。

 

一、首先需要安装memcached。

安装步骤请参考:http://blog.csdn.net/clarkcc1988/article/details/8509822

上面这篇文章写的很好,在这里就不重复了。

补充几点官方文档中的信息:(官方文档链接:https://code.google.com/p/memcached/wiki/NewStart?tm=6)

 

  • 启动参数

  -h:获得帮助信息

  注意-m,-d,-v

  -m:告诉memcached用多少内存做存储(单位M)。注意memcached会使用比你设定的数量更多一些的内存,所以要设定安全的数量。在1.4.x版本及以前的版本,不管你设定多少,memcached使用的内存都不会少于48M。

 常用启动命令:/usr/local/memcached/bin/memcached -d -m 256 -u root -p 11211 -c 1024

 

  • 连接限制:

默认最大连接数是1024。在系统运行时,你可以执行命令echo "stats" | nc localhost 11211

检查"listen_disabled_num",如果数值比0大,加大连接数的设置,让这个数值等于或近似于0即可。

 

  • 线程

默认是4个线程。memcached每个线程都可以处理大量的请求,所以这个数值不用设置太大。除非你的memcached系统特别健壮,否则不建议增大此数量。线程数量设置大于80时将不会让系统运行更快。

 

  • 运行中的参数

系统运行时,执行命令:$ echo "stats settings" | nc localhost 11211

可以查看系统运行的状态参数。('stats'和'stats settings')

 

 二、memcached客户端(选读)

程序通过memcached客户端操作memcached。JAVA客户端有很多,比较好的有spymemcached和xmemcached。xmemcached有完整的中文文档,性能也很不错。

xmemcached中文指南:https://code.google.com/p/xmemcached/wiki/User_Guide_zh

spymemcached:https://code.google.com/p/spymemcached/

 

三、memcached-seession-manager

参考这篇文章:http://chenzhou123520.iteye.com/blog/1650212

上面的文章基本是翻译官方文档,写的很清楚了,不再重复。

官方文档:https://code.google.com/p/memcached-session-manager/wiki/SetupAndConfiguration

需要补充的几点:

1、Context的设置可以是针对单个web应用,也可以针对整个Tomcat环境。配置的地方不同,但是不建议在server.xml中添加,因为这样要应用修改必须重启Tomcat。参考:http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Defining_a_context

2、如果你的tomcat在同一个机器上,需要设置jvmRoute,并且保证在同一台机器上的唯一,如:<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">

 

 

分享到:
评论
1 楼 weiqingeng 2014-09-18  
好文章,受益了这次 

相关推荐

    tomcat-7.0.54配合使用的memcached-session-manager1.6.1的整套jar包

    为了优化这个问题,我们可以使用`memcached-session-manager`,它是一个专门为Tomcat设计的插件,使得Tomcat能够将用户的session数据存储在Memcached服务器上,实现session的分布式管理。 本文将详细介绍如何在...

    memcached-session-manager_4_tomcat8

    "memcached-session-manager_4_tomcat8" 这个标题表明我们正在讨论一个针对Tomcat 8.0.33版本的session管理器,它使用了memcached作为持久化存储。memcached是一种分布式内存对象缓存系统,常用于减轻数据库负载,...

    Memcached-session-manager所需最新jar包-tomcat7-kryo序列

    3. **Memcached-session-manager**:这是一个开源项目,用于在Apache Tomcat应用服务器中集成Memcached,以便将用户的会话数据存储在Memcached集群中,以实现高可用性和可扩展性。它提供了一种替代默认的基于文件或...

    memcached-session-manager 实现 tomcat session共享

    标题 "memcached-session-manager 实现 tomcat session共享" 指的是在分布式环境中,通过 memcached-session-manager 这个工具来实现 Tomcat 应用服务器之间的 Session 共享。Session 是 Web 应用中用于存储用户状态...

    Memcached-Session-Manager多tomcat实现session共享配置

    **Memcached-Session-Manager与Tomcat集群中的Session共享** 在分布式系统中,尤其是在使用了多个Tomcat实例作为Web服务器的集群环境中,确保用户会话(Session)在各个节点之间共享是至关重要的。Memcached-...

    memcached(十一)memcached-session-manager

    6. **故障转移和高可用性**:介绍session数据的备份和恢复策略,以及如何在memcached集群中实现session的无缝迁移,以确保服务的连续性。 7. **源码分析**:如果标签中的“源码”是指这部分,那么教程可能包含对`...

    tomcat8+memcached session共享所需的jar包

    tomcat8+memcached session共享所需的jar包, memcached-session-manager memcached-session-manager-tc8 msm-kryo-serializer spymemcached kryo-serializers所有jar包都有

    memcached-session-manager(MSM) Tomcat集群session共享示例

    memcached-session-manager(MSM) Tomcat集群session共享示例

    Nginx+Tomcat+Memcached-Session-Manager集群Session共享

    在本篇文章中,我们将深入探讨如何使用Nginx、Tomcat和Memcached-Session-Manager(MSM)来构建一个集群环境,并实现Session共享。这涉及到集群搭建、分布式应用以及缓存管理等多个方面的IT知识。下面将详细展开这些...

    tomcat9+tomcat-cluster-redis-session-manager_4.0.zip

    Tomcat Cluster Redis Session Manager是一个插件,它允许Tomcat集群中的各个节点共享和同步Session信息,确保用户在集群中的任何服务器上都能保持登录状态。 集成Tomcat集群和Redis Session Manager的过程大致如下...

    memcached-session-manager-tc6-1.6.4.zip

    标题中的"memcached-session-manager-tc6-1.6.4.zip"指的是一个与Memcached相关的session管理器的Tomcat 6版本的组件,版本号为1.6.4。Memcached是一个高性能、分布式的内存对象缓存系统,用于减少数据库负载,提高...

    Tomcat+memcached-session-manager1.8(MSM)

    `memcached-session-manager1.8(MSM)`就是这样一个工具,它允许Tomcat将用户的session数据透明地保存到Memcached集群中,从而实现session的高可用性和可扩展性。 【描述】"最新memcached-session-manager1.8(MSM)" ...

    Memcached_Session_Manager jar

    总结起来,Memcached_Session_Manager jar是用于Tomcat集群环境的一个解决方案,它借助Memcached作为中央会话存储,通过javolution和kryo提高序列化效率,确保在分布式环境中正确、高效地管理用户会话。使用这个组件...

    tomcat8+memcached-session的连接1.9.6版本jar包

    首先,"memcached-session-manager-1.9.6.jar"是核心组件,它实现了将Tomcat的用户会话数据存储到Memcached中的功能。这个库提供了一种方法,使得当用户在集群中的不同服务器之间跳转时,其会话状态可以无缝地保持...

    tomcat8 memcached session共享jar包

    描述提到“Tomcat7 使用 memcached-session-manager-tc7-1.9.5.jar”,这表明存在一个专门为Tomcat 7设计的Memcached session管理器版本。这个jar包允许Tomcat与Memcached通信,将session数据存储在Memcached中。...

    apache-tomcat-7.0.47-memcached-各种序列化策略-session共享

    以上就是关于"apache-tomcat-7.0.47-memcached-各种序列化策略-session共享"的知识点,涵盖了Tomcat集群、Memcached的使用以及多种序列化策略的应用。通过深入理解和实践这些技术,你可以构建出高可用、高性能的Web...

    Memcached_Session_Manager集群共享session需要的jar

    MSM--memcached session manager是一个高可用的Tomcat session共享解决方案,除了可以从本机内存快速读取Session信息(仅针对黏性Session)外,同时可使用memcached存取Session,以实现高可用。

    tomcat-7.0.47-memcached-各种序列化策略-session共享

    在Tomcat中,我们可以配置一个名为`MemcachedSessionManager`的Manager组件,该组件使用Memcached作为Session的持久化存储。这样,无论用户请求发送到哪个Tomcat实例,都可以从同一个Memcached集群中获取到其Session...

    memcached-1.4.15

    - **memcached-session-manager-tc6-1.6.1.jar**:这是针对Tomcat 6的session管理模块,确保在Tomcat环境中与memcached的兼容性。 - **memcached-1.4.15.zip**:这个文件本身是memcached的源代码或二进制发行包,...

    memcached共享session需要的jar包

    8. **memcached-session-manager-tc7-1.6.5.jar**:这个jar是针对Tomcat 7的版本,提供了与Tomcat容器集成的适配器,使得在Tomcat环境中可以方便地配置和使用Memcached session管理。 9. **minlog-1.2.jar**:一个...

Global site tag (gtag.js) - Google Analytics