Cluster className=org.apache.catalina.ha.tcp.SimpleTcpCluster 各个节点意思

本文主要是介绍Cluster className=org.apache.catalina.ha.tcp.SimpleTcpCluster 各个节点意思,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

<!-- Cluster(集群,族) 节点,如果你要配置tomcat集群,则需要使用此节点.className 表示tomcat集群时,之间相互传递信息使用那个类来实现信息之间的传递.channelSendOptions可以设置为2、4、8、10,每个数字代表一种方式2 = Channel.SEND_OPTIONS_USE_ACK(确认发送)4 = Channel.SEND_OPTIONS_SYNCHRONIZED_ACK(同步发送) 8 = Channel.SEND_OPTIONS_ASYNCHRONOUS(异步发送)在异步模式下,可以通过加上确认发送(Acknowledge)来提高可靠性,此时channelSendOptions设为10
-->
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8"><!--Manager决定如何管理集群的Session信息。Tomcat提供了两种Manager:BackupManager和DeltaManagerBackupManager-集群下的所有Session,将放到一个备份节点。集群下的所有节点都可以访问此备份节点DeltaManager-集群下某一节点生成、改动的Session,将复制到其他节点。DeltaManager是Tomcat默认的集群Manager,能满足一般的开发需求使用DeltaManager,每个节点部署的应用要一样;使用BackupManager,每个节点部署的应用可以不一样.className-指定实现org.apache.catalina.ha.ClusterManager接口的类,信息之间的管理.expireSessionsOnShutdown-设置为true时,一个节点关闭,将导致集群下的所有Session失效notifyListenersOnReplication-集群下节点间的Session复制、删除操作,是否通知session listenersmaxInactiveInterval-集群下Session的有效时间(单位:s)。maxInactiveInterval内未活动的Session,将被Tomcat回收。默认值为1800(30min)--><Manager className="org.apache.catalina.ha.session.DeltaManager"expireSessionsOnShutdown="false"notifyListenersOnReplication="true"/><!--Channel是Tomcat节点之间进行通讯的工具。Channel包括5个组件:Membership、Receiver、Sender、Transport、Interceptor--><Channel className="org.apache.catalina.tribes.group.GroupChannel"><!--Membership维护集群的可用节点列表。它可以检查到新增的节点,也可以检查到没有心跳的节点className-指定Membership使用的类address-组播地址port-组播端口frequency-发送心跳(向组播地址发送UDP数据包)的时间间隔(单位:ms)。默认值为500dropTime-Membership在dropTime(单位:ms)内未收到某一节点的心跳,则将该节点从可用节点列表删除。默认值为3000注: 组播(Multicast):一个发送者和多个接收者之间实现一对多的网络连接。一个发送者同时给多个接收者传输相同的数据,只需复制一份相同的数据包。它提高了数据传送效率,减少了骨干网络出现拥塞的可能性相同组播地址、端口的Tomcat节点,可以组成集群下的子集群--><Membership className="org.apache.catalina.tribes.membership.McastService"address="228.0.0.4"port="45564"frequency="500"dropTime="3000"/><!--Receiver : 接收器,负责接收消息接收器分为两种:BioReceiver(阻塞式)、NioReceiver(非阻塞式)className-指定Receiver使用的类address-接收消息的地址port-接收消息的端口autoBind-端口的变化区间如果port为4000,autoBind为100,接收器将在4000-4099间取一个端口,进行监听selectorTimeout-NioReceiver内轮询的超时时间maxThreads-线程池的最大线程数--><Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"address="auto"port="4000"autoBind="100"selectorTimeout="5000"maxThreads="6"/><!--Sender : 发送器,负责发送消息Sender内嵌了Transport组件,Transport真正负责发送消息--><Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"><!--Transport分为两种:bio.PooledMultiSender(阻塞式)、nio.PooledParallelSender(非阻塞式) --><Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/></Sender><!--Interceptor : Cluster的拦截器TcpFailureDetector-网络、系统比较繁忙时,Membership可能无法及时更新可用节点列表,此时TcpFailureDetector可以拦截到某个节点关闭的信息,并尝试通过TCP连接到此节点,以确保此节点真正关闭,从而更新集群可以用节点列表                 --><Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/><!--MessageDispatch15Interceptor-查看Cluster组件发送消息的方式是否设置为Channel.SEND_OPTIONS_ASYNCHRONOUS(Cluster标签下的channelSendOptions为8时)。设置为Channel.SEND_OPTIONS_ASYNCHRONOUS时,MessageDispatch15Interceptor先将等待发送的消息进行排队,然后将排好队的消息转给Sender--><Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/></Channel><!--Valve : 可以理解为Tomcat的拦截器ReplicationValve-在处理请求前后打日志;过滤不涉及Session变化的请求                   vmRouteBinderValve-Apache的mod_jk发生错误时,保证同一客户端的请求发送到集群的同一个节点--><Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/><Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/><!--Deployer : 同步集群下所有节点的一致性。Deployer没试验成功过。。。--><Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"tempDir="/tmp/war-temp/"deployDir="/tmp/war-deploy/"watchDir="/tmp/war-listen/"watchEnabled="false"/><!--ClusterListener : 监听器,监听Cluster组件接收的消息使用DeltaManager时,Cluster接收的信息通过ClusterSessionListener传递给DeltaManager--><ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>

这篇关于Cluster className=org.apache.catalina.ha.tcp.SimpleTcpCluster 各个节点意思的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1078474

相关文章

Redis Cluster模式配置

《RedisCluster模式配置》:本文主要介绍RedisCluster模式配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录分片 一、分片的本质与核心价值二、分片实现方案对比 ‌三、分片算法详解1. ‌范围分片(顺序分片)‌2. ‌哈希分片3. ‌虚

SpringBoot整合Apache Flink的详细指南

《SpringBoot整合ApacheFlink的详细指南》这篇文章主要为大家详细介绍了SpringBoot整合ApacheFlink的详细过程,涵盖环境准备,依赖配置,代码实现及运行步骤,感兴趣的... 目录1. 背景与目标2. 环境准备2.1 开发工具2.2 技术版本3. 创建 Spring Boot

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存

Spring Boot 整合 Apache Flink 的详细过程

《SpringBoot整合ApacheFlink的详细过程》ApacheFlink是一个高性能的分布式流处理框架,而SpringBoot提供了快速构建企业级应用的能力,下面给大家介绍Spri... 目录Spring Boot 整合 Apache Flink 教程一、背景与目标二、环境准备三、创建项目 & 添

Apache 高级配置实战之从连接保持到日志分析的完整指南

《Apache高级配置实战之从连接保持到日志分析的完整指南》本文带你从连接保持优化开始,一路走到访问控制和日志管理,最后用AWStats来分析网站数据,对Apache配置日志分析相关知识感兴趣的朋友... 目录Apache 高级配置实战:从连接保持到日志分析的完整指南前言 一、Apache 连接保持 - 性

apache的commons-pool2原理与使用实践记录

《apache的commons-pool2原理与使用实践记录》ApacheCommonsPool2是一个高效的对象池化框架,通过复用昂贵资源(如数据库连接、线程、网络连接)优化系统性能,这篇文章主... 目录一、核心原理与组件二、使用步骤详解(以数据库连接池为例)三、高级配置与优化四、典型应用场景五、注意事

SpringBoot快速搭建TCP服务端和客户端全过程

《SpringBoot快速搭建TCP服务端和客户端全过程》:本文主要介绍SpringBoot快速搭建TCP服务端和客户端全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录TCPServerTCPClient总结由于工作需要,研究了SpringBoot搭建TCP通信的过程

解决tomcat启动时报Junit相关错误java.lang.ClassNotFoundException: org.junit.Test问题

《解决tomcat启动时报Junit相关错误java.lang.ClassNotFoundException:org.junit.Test问题》:本文主要介绍解决tomcat启动时报Junit相... 目录tomcat启动时报Junit相关错误Java.lang.ClassNotFoundException

解决Maven项目报错:failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0的问题

《解决Maven项目报错:failedtoexecutegoalorg.apache.maven.plugins:maven-compiler-plugin:3.13.0的问题》这篇文章主要介... 目录Maven项目报错:failed to execute goal org.apache.maven.pl

深入理解Apache Kafka(分布式流处理平台)

《深入理解ApacheKafka(分布式流处理平台)》ApacheKafka作为现代分布式系统中的核心中间件,为构建高吞吐量、低延迟的数据管道提供了强大支持,本文将深入探讨Kafka的核心概念、架构... 目录引言一、Apache Kafka概述1.1 什么是Kafka?1.2 Kafka的核心概念二、Ka