tomcat集群及session共享

一般来说,java web app主要用作两个领域:

1.api。api一般是无状态的,所以无需考虑session共享的问题

2.传统web应用和网站,如crm,oa,erp,b2c,bbs等。尤其bbs,b2c这样的互联网应用,单台tomcat往往无法满足高并发,所以需要做集群。如果做了集群,往往需要考虑session共享的问题,因为LB(apache/nginx)等等往往会将同一用户的请求分发到不同server

常用的servlet容器主要有tomcat(老牌的servlet容器,像apache一样经典,目前广泛使用),jetty(性能比较好的轻量级servlet容器,google几年前已经广泛使用)等,今天主要谈一谈tomcat的集群方案

方案有两类:

一.转发策略:lb设置固定策略,根据ip分发到固定的server。不推荐使用

优点:只需对lb做下相应配置,web容器无需调整

缺点:卡靠性比较差。因为集群中的部门机器可能出现宕机,对此lb可能出现无法正常转发

二.session共享:各个server共享session,从而保证用户始终可以正常访问

1.cluster方式 http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html

优点:不改变原有session存储方式

缺点:性能一般,

时间: 2024-10-07 03:36:53

tomcat集群及session共享的相关文章

基于tomcat集群做session共享

前端代理服务器nginx:192.168.223.136 tomcat服务器:采用的一台多实例192.168.223.146:8081,192.168.223.146:8082(如何构建多实例tomcat,请参考前面的文章) 首先查看下tomcat的webapps目录架构: [[email protected] tomcat-instance]# pwd/usr/local/tomcat-instance[[email protected] tomcat-instance]# ll总用量 24-

MSM实现tomcat集群中session共享的高可用

目录 1.测试环境概述 2.MSM简介 2.1.MSM的特性 2.2.MSM要解决的问题 2.3.MSM的工作原理 3.环境搭建 3.1.memcached安装 3.2.jkd与tomcat安装配置 3.3.MSM sticky session + kryo模式的配置 3.4.MSM no-sticky session + kryo模式的配置 4.思考与总结 1.测试环境概述 采用两台linux x64主机,主机上分别安装memcached与tomcat,memcached提供key/value

关于 tomcat 集群中 session 共享的三种方法

前两种均需要使用 memcached 或 redis 存储 session ,最后一种使用 terracotta 服务器共享. 建议使用 redis ,不仅仅因为它可以将缓存的内容持久化,还因为它支持的单个对象比较大,而且数据类型丰富, 不只是缓存 session ,还可以做其他用途,一举几得啊. 1.使用 filter 方法存储 这种方法比较推荐,因为它的服务器使用范围比较多,不仅限于 tomcat ,而且实现的原理比较简单容易控制. 可以使用 memcached-session-filter

javaweb的负载均衡,tomcat集群和session共享

nginx+tomcat+redis   (依赖包下载) 1.redis配置(192.168.159.131:16300)(v2.8.3) 2.tomcat配置 tomcat1(192.168.159.130:8081) tomcat2(192.168.159.130:8082) 3.nginx安装在192.168.159.131. 首先,是配置tomcat,使其将session保存到redis上.有两种方法,也是在server.xml或context.xml中配置,不同的是memcached只

Nginx+Tomcat+Memcached实现tomcat集群和session共享

实验环境: hostname      ip nginx        192.168.1.241 java1        192.168.1.242 java2        192.168.1.243 1.nginx+upstream安装 [[email protected] ~]# useradd nginx -s /sbin/nologin [[email protected] opt]# tar zxf pcre-8.34.tar.gz [[email protected] opt]

Redis+Tomcat+Nginx集群实现Session共享,Tomcat Session共享

Redis+Tomcat+Nginx集群实现Session共享,Tomcat Session共享 ============================= 蕃薯耀 2017年11月27日 http://www.cnblogs.com/fanshuyao/ 代码美化版或附件下载见:http://fanshuyao.iteye.com/blog/2400975 一.Session共享使用tomcat-cluster-redis-session-manager插件实现 插件地址见:https://g

Nginx+tomcat集群使用redis共享session

一 :nginx负载均衡 当Tomcat当做独立的Servlet容器来运行时,可看做是能运行Java Servlet的独立Web服务器. 此外 Tomcat还可以作为其他Web服务器进程内或者进程外的Servlet容器,从而与其他Web服务器集成(Apache Nginx IIS 等) 集成的意义在于:对于不支持运行java Servlet的其他Web服务器,可以通过集成Tomcat来提供运行Servlet的功能. ----------Tomcat与JavaWeb开发技术详解(孙卫琴的一本书)

Tomcat集群的session复制配置

此处我们采用的是在一台服务器上配置3台Tomcat,为了达到访问任何一台Tomcat都共享session的目的,我们这里采用Tomcat在集群中的session复制,以下是具体的配置 1.我们将Tomcat复制3份,更改名字为Tomcat1.Tomcat2.Tomcat3,修改每个Tomcat中的Server节点端口分别为8005.8006.8007 1 #Tomcat1 2 <Server port="8005" shutdown="SHUTDOWN">

通过Nginx_upstream_jvm_route插件实现Tomcat集群的session同步

之前分别介绍了Tomcat通过memcached session manager(MSM)方式和自带的CLuster方式实现session共享方案.今天这里说下Tomcat通过Nginx扩展插件nginx-upstream-jvm-route实现session同步,用来实现基于Cookie的Session Sticky的功能. jvm_route的工作原理1) 一开始请求过来,没有带session信息,jvm_route就根据round robin的方法,发到一台tomcat上面.2) tomc