最近需要做tomcat集群,session如何共享是必须解决的问题之一,打算采用memcached-session-manager,这是一个以memcached为session存储的方案,除了共享这个问题之外,性能也是需要关注的,有人反映基于msm集群后tomcat的性能不是很好,序列化是可以调整的一个点,msm官方下载有几个序列方案可选,kryo是其中之一(还有xstream,javolution等),关于kryo的性能问题,有一篇文章值得一看:
http://stackoverflow.com/questions/2725233/kryo-serialization-library-is-it-used-in-production
除了基于memcached方案之外,还有基于redis的,需要基于这两种方案进行一个选择。
我对这两种方案的性能其实都抱怀疑态度,我估计基于其中一个方案进行优化是必须的。
分享到:
相关推荐
【标题】:“Memcached-session-manager所需最新jar包-tomcat7-kryo序列”指的是在Tomcat7中使用Memcached作为会话管理器时,需要的特定版本的jar包,特别是与Kryo序列化相关的组件。 【描述】:“Memcached-...
本主题将详细讲解如何利用Tomcat 7、Nginx和Memcached来实现这一目标,同时关注session共享和Kryo序列化技术。 首先,Tomcat 7是一款流行的开源Java Servlet容器,它支持Servlet、JSP和Java EE 6规范。通过创建多个...
与Kryo相比,Javolution更注重代码的可读性和可维护性,但在某些情况下,其序列化速度可能稍慢。 在实际操作中,你需要将Kryo或Javolution的相关jar包添加到Tomcat的类路径中,然后配置session复制或使用Memcached...
默认的Java序列化可能会导致性能问题,因此可以考虑使用高效的序列化库,如Google的FST或Kryo。 5. **集群同步策略**:Tomcat可以通过`distributable`属性在`web.xml`中声明应用可分布式部署,这会启用session ID的...
2. **Kryo序列化**:Kryo是一个快速、高效的Java序列化库,它允许预注册类以提高性能,并且生成的字节流比Java序列化更小。但是,Kryo不是线程安全的,需要在多线程环境中妥善管理。 3. **FST(Fast-Serialization...
总结,使用Kryo实现Tomcat Session共享涉及了分布式系统的会话管理、Kryo序列化库的应用,以及Tomcat的集群配置。这个过程需要对Java Web开发、网络通信和序列化有深入理解,同时也需要熟悉Tomcat的内部工作机制。...
2. **导入jar包**:将所需jar包(如kryo序列化相关jar)添加到每个Tomcat的`lib`目录。可以从提供的链接(https://pan.baidu.com/s/1sl4Q24H 密码: wib9)下载包含正确版本的lib文件,覆盖Tomcat的`lib`目录,并确保...
每个rar文件对应了不同的序列化策略与Tomcat的整合示例。 5. **优缺点分析**:不同的序列化策略各有优缺点。例如,XStream和Flexjson易用性高,但可能产生较大的序列化数据;而Kryo和Javolution则更注重性能和数据...
在MSM中,选择Kryo作为传输方式意味着会话数据将以Kryo序列化的形式在网络上传输,这种格式通常比Java内置的序列化更紧凑,速度更快。然而,需要注意的是,由于Kryo的序列化方式可能不兼容未来版本,因此在升级时...
5. **Kryo序列化配置**:根据需求,可能需要自定义Kryo的序列化规则,比如注册自定义的序列化类或者配置序列化策略。 6. **测试与监控**:部署完成后,通过模拟用户行为测试session是否能在集群中正确共享,并监控...
例如,msm-javolution-serializer-1.6.5.jar 提供了基于 Javolution 的序列化方法,而 msm-kryo-serializer-1.6.5.jar 支持使用 Kryo 进行更高效的序列化。 5. **重启 Tomcat**:完成配置后,重启 Tomcat 服务器,...
描述中提到的“Nginx+Tomcat8.5.6 + Memcache集群 kryo-serializer方式序列化 实现session共享”,进一步解释了架构的关键组成部分和策略。Nginx作为一个高性能的反向代理服务器,负责将用户请求分发到后端的Tomcat...
在实际配置中,你需要在Tomcat的`context.xml`或`server.xml`文件中配置`MemcachedSessionManager`,并指定使用的序列化器,例如Kryo或Javolution。还需要配置Memcached服务器的连接参数,如IP地址和端口。 总结...
它通过高效的序列化库Kryo和专门为Tomcat8设计的适配器,实现了与Memcached的无缝连接,有效提升了多服务器环境下的应用性能和用户体验。同时,修复了已知的异常问题,保证了系统的稳定运行。对于需要进行水平扩展或...
5. `msm-kryo-serializer-1.9.5.jar`:这是Memcached Session Manager的Kryo序列化模块,用于更高效地序列化和反序列化session数据。 6. `reflectasm-1.10.1.jar`:ReflectASM是一个用于反射的轻量级库,提高了Java...
- `msm-kryo-serializer-1.6.5.jar`: Memcached Session Manager的Kryo序列化模块,用于优化Session的序列化过程。 - `spymemcached-2.10.3.jar`: SpyMemcached是Memcached的一个Java客户端,提供与Memcached...
本压缩包提供的是一系列用于Tomcat实现Session共享的jar包,主要包括asm、javolution、kryo、memcached-session-manager以及相关的序列化库。 1. **ASM**: ASM是一个Java字节码操控和分析框架,主要用于动态生成类...
- 需要选择序列化库,如kryo或javolution,将Session数据转化为能在网络中传输的格式。 6. 配置步骤 - 配置Apache Server:在httpd.conf文件中添加负载均衡和反向代理配置,定义BalancerMember指定Tomcat节点。 ...
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory" // 使用Kryo进行序列化 /> ``` 3. 另外,还需要在`$CATALINA_HOME/lib`目录下添加`memcached-session-manager*.jar`和...