Tomcat集群原理和配置

大规模网站在负载均衡的后面,都需要通过集群来处理用户的请求,保证服务的高可用和横向扩展。Tomcat集群在部署时最主要的就是如何处理session问题。

大致有两个解决方向。一种是不允许使用session, 所有用户的请求都是request stateless的。另外一种就是session共享。session共享分为复制session共享和集中式session共享。解决方法分类大概如下:

负载均衡方案
基于DNS的负载均衡
基于反向代理的负载均衡

httpd mod_jk

nginx

memcached

基于NAT的负载均衡


下面是各种配置的参考文章和详细配置资料

tomcat集群三种方式

使用DNS查询

使用Apache R-proxy方式

使用Apache mod_jk方式

http://developer.51cto.com/art/200909/148611.htm

 

负载均衡技术

基于DNS的负载均衡

基于反向代理负载均衡(proxy, mod_jk)

基于NAT(Network Address Translation)的负载均衡技术(如Linux Virtual Server, LVS)

http://developer.51cto.com/art/201009/226527.htm

 

tomcat集群方案(msm)

使用tomcat自带的cluster方式,多个tomcat之间自动实时复制session信息。方案配置简单,效率比较低,在大并发下表现不好。(复制session共享策略)

利用nginx的基于ip的hash路由策略。(反向代理)

利用memcached把多个tomcat的session集中管理,兼顾系统水平扩展同时又保证较高的性能。(集中式session共享策略)MSM(memcached session manager)

http://my.oschina.net/fenno/blog/111188


Apache Tomcat集群配置(复制session共享策略)

org.apache.catalina.ha.tcp.SimpleTcpCluster

http://liaojuncai.iteye.com/blog/1988345

 

Nginx Memcached Tomcat集群配置(集中式session共享策略)

memcached-session-manager

de.javakaffee.web.msm.MemcachedBackupSessionManager

http://www.oschina.net/question/1014681_107718


sso tomcat memcached session

不同app之间的sso.....

http://www.9iu.org/2011/11/25/tomcat-memcached-session-sso.html


你可能感兴趣的:(tomcat,session,cluster,memcached,loadbalance)