群集配置在样品server.xml 文件里有描述。需要指出的是以mcastXXX开头的是关于会员成分multicast ping的属性,以tcpXXX开头的是关于TCP replication的属性。
会员成分是通过在相同的multicast IP 和 port上的所有tomcat实例建立的。TCP listen port是从其他会员那里来的会话复制在这它里被接收到的端口。
复制阀被用来发现请求什么时候被完成,并启动复制。
One of the most important performance considerations is the synchronous (pooled or not pooled) versus asynchronous replication mode. In a synchronous replication mode the request doesn't return until the replicated session has been sent over the wire and reinstantiated on all the other cluster nodes. There are two settings for synchronous replication. Pooled or not pooled. Not pooled (ie replicationMode="fastasnycqueue" or "synchronous") means that all the replication request are sent over a single socket. Using synchronous mode can potentially becomes a bottleneck when a lot of messages generated, You can overcome this bottleneck by setting replicationMode="pooled" but then you worker threads blocks with replication . What is recommended here is to increase the number of threads that handle incoming replication request. This is the tcpThreadCount property in the cluster section of server.xml. The pooled setting means that we are using multiple sockets, hence increases the performance. Asynchronous replication, should be used if you have sticky sessions until fail over, then your replicated data is not time crucial, but the request time is, at this time leave the tcpThreadCount to be number-of-nodes-1. During async replication, the request is returned before the data has been replicated. async replication yields shorter request times, and synchronous replication guarantees the session to be replicated before the request returns.
The parameter "replicationMode" has four different settings: "pooled", "synchronous", "asynchronous" and "fastasyncqueue"
Bind session after crash to failover node |
As you configure more then two nodes at same cluster for backup, most loadbalancer send don't all your requests after failover to the same node.
The JvmRouteBinderValve handle tomcat jvmRoute takeover using mod_jk module after node failure. After a node crashed the next request going to other cluster node. The JvmRouteBinderValve now detect the takeover and rewrite the jsessionid information to the backup cluster node. After the next response all client request goes direct to the backup node. The change sessionid send also to all other cluster nodes. Well, now the session stickyness work directly to the backup node, but traffic don't go back too restarted cluster nodes! As jsessionid was created by cookie, the change JSESSIONID cookie resend with next response.
You must add JvmRouteBinderValve and the corresponding cluster message listener JvmRouteSessionIDBinderListener. As you add the new listener you must also add the default ClusterSessionListener that receiver the normal cluster messages.
|
|
|
|
<Cluster className="org.apache.catalina.tcp.SimpleTcpCluster" >
...
<Valve className="org.apache.catalina.cluster.session.JvmRouteBinderValve"
enabled="true" sessionIdAttribute="takeoverSessionid"/>
<ClusterListener className="org.apache.catalina.cluster.session.JvmRouteSessionIDBinderListener" />
<ClusterListener className="org.apache.catalina.cluster.session.ClusterSessionListener" />
...
<Cluster>
|
|
|
|
|
Hint: With attribute sessionIdAttribute you can change the request attribute name that included the old session id. Default attribuite name is org.apache.catalina.cluster.session.JvmRouteOrignalSessionID.
Trick: You can enable this mod_jk turnover mode via JMX before you drop a node to all backup nodes! Set enable true on all JvmRouteBinderValve backups, disable worker at mod_jk and then drop node and restart it! Then enable mod_jk Worker and disable JvmRouteBinderValves again. This use case means that only requested session are migrated.
|
|
相关推荐
部署Servlet需要的apache-tomcat-5.5.20.7z
Apache Tomcat是一款开源的Java Servlet容器,主要用于部署和运行Java Web应用程序。它的核心功能是解析并执行JavaServer Pages (JSP) 和Java Servlets。Apache Tomcat v5.5是该软件的一个较旧版本,发布于2006年,...
Apache Tomcat 5.5 是一个广泛使用的开源Java Servlet容器,它实现了Java Servlet和JavaServer Pages(JSP)规范,是开发和部署Java Web应用程序的关键工具。Tomcat 5.5.x系列是Tomcat发展历史上的一个重要版本,...
【标题】"Tomcat5/tomcat5.5安装包" 涵盖了两个不同版本的Apache Tomcat服务器,即Tomcat 5.0和Tomcat 5.5。Tomcat是一个开源的、免费的应用服务器,主要用于部署和运行Java Servlets和JavaServer Pages(JSP)。它...
Apache Tomcat是一款广泛应用的开源Java Servlet容器,它实现了JavaServer Pages (JSP)、Servlet以及Java EE的Web应用程序规范。这个“Mirror of Apache Tomcat 5.5.x.zip”文件很可能是Apache Tomcat 5.5版本的一个...
Tomcat 5.5 是一个历史悠久的开源Java应用服务器,主要用作Servlet和JSP容器。免安装版意味着它不需要通过传统安装程序进行安装,而是可以直接解压并运行,这为用户提供了方便,特别是对于开发和测试环境。下面将...
Apache Tomcat 5.5是一款广泛应用的开源Java Servlet容器,它是Apache软件基金会Jakarta项目的一部分。这个版本的Tomcat在Web应用服务器领域扮演了重要的角色,尤其对于那些基于Java EE标准(尤其是Servlet和JSP)的...
Apache Tomcat是一款开源、免费的Java Servlet容器,广泛应用于Web应用程序的部署和运行。Tomcat 5.5是其历史上的一个重要版本,提供了许多增强的功能和优化,使得它在性能和稳定性上都有所提升。本篇将详细讲解...
Apache Tomcat 5.5 是一个广泛使用的开源Java Servlet容器,特别用于运行JavaServer Pages (JSP) 和Java Servlets。这个"tomcat5.5安装版"包含了所有必要的组件来搭建一个完整的Tomcat服务器环境。以下是关于Tomcat ...
Apache Tomcat 是一款开源的、免费的 Java Servlet 容器,主要用于实现JavaServer Pages (JSP) 和 Java Servlets 的运行环境。Tomcat 5.5 版本是其历史上的一个重要里程碑,它在2006年发布,提供了许多增强功能和...
Tomcat5.5主要支持Servlet 2.4和JSP 2.0规范,这两个规范的引入极大地提升了Web应用程序的开发效率和性能。它不仅是一个轻量级的应用服务器,同时也具备处理大规模并发请求的能力,因此在中小型企业及个人开发者中广...
Tomcat 5.5 是一个历史悠久的开源Java应用服务器,主要用作Servlet和JSP容器。这个解压版意味着你无需进行编译或安装过程,只需下载并解压缩到你的计算机上,就可以直接运行,非常方便。以下是关于Tomcat 5.5的一些...
Apache Tomcat 5.5 是一个历史悠久且广泛使用的开源软件,它是Apache软件基金会下的一个项目,主要用于部署和运行Java Servlets以及JavaServer Pages (JSP)。Tomcat作为一个轻量级应用服务器,它实现了Java EE的Web...
Apache Tomcat 5.5是Java Servlet和JavaServer Pages(JSP)的开源Web应用服务器,它由Apache软件基金会开发并维护。这个版本是Tomcat的稳定版本之一,提供了对Servlet 2.4和JSP 2.0规范的支持。在Linux环境下部署...
Tomcat作为Apache软件基金会的一个开源项目,是Java Servlet和JavaServer Pages(JSP)技术的开源Web应用服务器,而集群则能提供更高的可用性和可扩展性。 【描述】中的内容提到了这个压缩包包含三个关键部分:已经...
标题中的“tomcat5.5 java”指的是Apache Tomcat服务器的5.5版本,这是一个开源的应用服务器,主要用于部署和运行Java Servlets和JavaServer Pages(JSP)。Tomcat是Java Community Process(JCP)的一部分,它实现...
Tomcat 5.5是Apache软件基金会的Jakarta项目中的一个开源Java Servlet容器,它实现了Java Servlet和JavaServer Pages(JSP)规范。在Tomcat 5.5中,admin页面是一个内置的管理应用程序,允许用户监控和管理Tomcat...
tomcat5.5 一个是HTTP WEB服务器,另一个是servlet容器(servlet container),最新的5.5.X系列实现Servlet 2.4/JSP 2.0Spec。在我们生产的环境中,往往需要Apache做前端服务器,Tomcat做后端服务器。此时我们就需要...
《Tomcat5.5中文技术手册》是一份详尽的指南,专为使用Apache Tomcat 5.5版本的开发者和管理员提供。这份手册以中文呈现,方便了中文读者理解和应用Tomcat的相关知识。HTML版的形式使得查阅和学习更加便捷,无需安装...
Apache Tomcat 5.5是Apache软件基金会的一个开源项目,它是Java Servlet和JavaServer Pages (JSP)技术的实现,用于构建和部署动态Web应用程序。Tomcat作为一个轻量级的应用服务器,尤其在处理纯Servlet和JSP应用时,...