集群对session有两种吧
1、基于request的负载均衡
该种方式下,负载均衡器 (load
balancer)会根据各个node的状况,把每个 http
request进行分发。使用这样的均衡策略,就必须在多个node之间复制用户的session,实时保持整个cluster的用户状态同步,这种操作
被称为session复制(session
replication)。Jboss的实现原理是使用拦截器(interceptor),根据用户的同步策略拦截request,做同步处理后再交给
server产生响应。
该方法的优点是客户不会被绑定都具体的node,只要还有一个node存活,用户状态都不会丢失,cluster都能够继续工作。缺点是node之间通信频繁,响应速度有影响,多并发、高频操作的情况下性能下降比较厉害。
2、 基于用户的负载均衡
该
种方式下,当用户发出第一个request后,负载均衡器动态的把该用户分配到某个节点,并记录该节点的jvm路由,以后该用户的所有request都会
被绑定这个jvm路由,用户只会与该server发生交互,这种策略被称为粘性session(session sticky)。
该方法的优点是响应速度快,多个节点之间无须通信。缺点也很明显,某个node死掉以后,它负责的所有用户都会丢失session。
方案1,需要application server 支持,且开发时,要避免使用重型的Session来解决问题。
方案2,只需要apache来解决就可以了.
方案1 实际上需要 load-balance + session replication.
方案2 就只有load-balance了。
方案1应当是人们经常说的群集方案吧,必须要有软件支持吧。
方案2就是load-balance方案,可以基于硬件,也可以基于软件.
两个方案可以结合着来做:
前端apache使用session sticky方法保证同一用户总是导向同一个node,后端JBoss(注意不是Tomcat)配置异步session复制。
这样在通常情况下有apache保证请求可以达到hold该用户状态的node,而异步session复制有可以保证不影响性能,最后当该node fail以后,apache路由到其他node的时候,JBoss的异步复制又可以保证其他node已经拥有该用户状态。
不过对于大型的电子商务网站,apache基于HTTP协议层的load
balance性能就撑不住了,这个时候可以考虑使用LVS,基于IP层协议的load balance,现在也支持session
sticky(其实不需要基于session进行分发,只要基于IP进行分发就好了,用一个用户在一次session会话过程中不可能换IP的)。
分享到:
相关推荐
weblogic集群与Session共享,图文并茂,可视化配置,步骤详细,保姆级教程
tomcat集群实现session复制tomcat集群实现session复制tomcat集群实现session复制tomcat集群实现session复制tomcat集群实现session复制tomcat集群实现session复制tomcat集群实现session复制tomcat集群实现session复制...
redis+tomcat集群配置session共享
tomcat-redis集群时session共享jar工具类,支持tomcat8
Redis + Tomcat + Nginx 集群实现 Session 共享
在was集群中,通常需要设置session共享,按照文档步骤可以完成session共享设置,解决你应用中的问题
tomcat集群session共享问题解决方案,以及应用到的相关资料
最新apache+tomcat集群,session设置等配置说明
tomcat集群session共享
Nginx+Tomcat+Memcached-Session-Manager整合做集群实现Session共享,实战操作,亲测可用。本文档仅供交流学习使用,欢迎大家批评指正。
tomcat8 Redis集群 同步Session 中用到的jar 附带tomcat content.xml配置文件
tomcat7集群实现session共享
tomcat8集群session共享(redis处理),通过添加lib包,以及修改tomcat配置实现tomcat集群session共享
集群session共享jar包之tomcat8。集群插件,redis方式实现session共享插件
tomcat8.5.29 redisclouder集群 session共享集群相关配置文件 亲测可用tomcat8.5.29 redisclouder集群 session共享集群相关配置文件 亲测可用 tomcat8.5.29 redisclouder集群 session共享集群相关配置文件 亲测可用 ...
而实际情况下,采取Apache 加Tomcat进行负载均衡集群的时候,是可以不用将Session复制到所有的节点里, 比如有六个Tomcat实例 Tomcat1,Tomcat2,Tomcat3,Tomcat4,Tomcat5,Tomcat6 是可以配置成 三组互相复制...
memcached实现集群的session共享问题,处理集群服务器情况下,memcached的session共享解决方案
有图有真相,weblogic集群配置及session共享
Nginx Tomcat 集群的Session 复制,解决了,集群情况下的session复制问题。
nginx,tomcat集群,session共享,基于memcache 包含nginx配置,tomcat配置,以及tomcat所需要的jar 不包含nginx,tomcat,jdk,memcache的安装