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共享配置