细说tomcat之集群session共享方案
1. Tomcat Cluster
官网:http://tomcat.apache.org/tomcat-7.0-doc/cluster-howto.html
Tomcat原生支持的集群方案,通过组播消息实现。
2. Hazelcast IMDG Plugins 开源版本插件
https://github.com/hazelcast/hazelcast-tomcat-sessionmanager#tomcat-based-web-session-replication
在测试用中发现该插件P2P模式时不稳定,经常会出现session不能及时同步的问题。
备注:IMDG/IMCG即内存数据网格/内存计算网格(In Memory Data grid/In Memory Compute grid),这是当前流行的内存计算技术,比较流行的几个产品包括:
- Hazelcast:通过Java实现的开源商业性方案。
- Terracotta的Big Memory:通过Java实现的开源商业性方案。
- VMware Pivotal Gemfire
- Apache Ignite:与Hazelcast是老对手,二者都有开源及商业性方案。
- Oracle Coherence:Oracle的商业产品,通过Java实现。
- Gigaspaces XAP:商业性的整体技术解决方案。
- JBoss Infinispan:开源方案,通过Java实现,目前可以对接Hadoop和Spark。
3. Redis方案
https://github.com/jcoleman/tomcat-redis-session-manager
采用Redis作为session存储方案,实现多实例session共享。
4.总结
根据实际生产环境集群规模选择恰当的方案。
【参考】
http://mp.weixin.qq.com/s/NnnqVrC9-Jekwy3Opmvy_w session一致性架构设计实践
https://hazelcast.org/ Hazelcast IMDG
https://hazelcast.org/plugins/?type=web-clustering Hazelcast IMDG Plugins
http://blog.csdn.net/catoop/article/details/48603891 Tomcat7基于Redis的Session共享
http://www.cnblogs.com/lengfo/p/4260363.html 基于nginx tomcat redis分布式web应用的session共享配置
作者:编程随笔
出处:http://www.cnblogs.com/nuccch/
声明:本文版权归作者和博客园共有,欢迎转载,但请在文章页面明显位置给出原文连接。