文档章节

Tomcat集群---Cluster节点配置

glen_xu
 glen_xu
发布于 2015/11/12 13:31
字数 1080
阅读 32
收藏 0

<!--    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和DeltaManager        BackupManager-集群下的所有Session,将放到一个备份节点。集群下的所有节点都可以访问此备份节点        DeltaManager-集群下某一节点生成、改动的Session,将复制到其他节点。        DeltaManager是Tomcat默认的集群Manager,能满足一般的开发需求        使用DeltaManager,每个节点部署的应用要一样;使用BackupManager,每个节点部署的应用可以不一样.        className-指定实现org.apache.catalina.ha.ClusterManager接口的类,信息之间的管理.        expireSessionsOnShutdown-设置为true时,一个节点关闭,将导致集群下的所有Session失效        notifyListenersOnReplication-集群下节点间的Session复制、删除操作,是否通知session listeners        maxInactiveInterval-集群下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)。默认值为500            dropTime-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>

本文转载自:http://blog.csdn.net/Readiay/article/details/45393435

共有 人打赏支持
glen_xu
粉丝 9
博文 129
码字总数 17936
作品 0
济南
私信 提问
Nginx在Windows平台的配置

1.1.1 课程目标: 课程目标: 能够使用Nginx搭建Tomcat集群,并完成负载均衡. 1.1.2 Nginx的概述: 什么是Nginx: 为什么使用Nginx: 度娘的解释: 背景: 互联网飞速发展的今天,大用户量高并发已经...

pxk
2017/10/29
0
1
Tomcat集群Cluster实现原理剖析

Tomcat集群Cluster实现原理剖析 博客分类: 集群 在上一篇文章中简要介绍了如何通过简单的配置来实现tomcat集群,本文意在介绍对tomcat集群进行更深入详细的配置以满足特定需求。 对于WEB应用...

方绍伟
2014/01/27
0
0
Tomcat集群Cluster实现原理剖析

Tomcat集群Cluster实现原理剖析 在笔者上一篇博客(http://zyycaesar.javaeye.com/admin/blogs/295227)中简要介绍了如何通过简单的配置来实现tomcat集群,本文意在介绍对tomcat集群进行更深...

liuterry_cz
2011/01/21
0
0
springcloud turbine

spring cloud turbine 简介 是聚合服务器发送事件流数据的一个工具,hystrix的监控中,只能监控单个节点,实际生产中都为集群,因此可以通过 turbine来监控集群下hystrix的metrics情况,通过...

独孤环宇
2018/06/26
0
0
Apache + Tomcat 集群配置详解

Apache + Tomcat集群配置详解 一、软件准备 Apache 2.2 : http://httpd.apache.org/download.cgi,下载msi安装程序,选择no ssl版本 Tomcat 6.0 : http://tomcat.apache.org/download-60.cg......

鉴客
2011/12/01
923
1

没有更多内容

加载失败,请刷新页面

加载更多

创建多个git账号

实习开发中我们可能一个机子上配置多个git账号,如github.com,oschina.com 或者工作账号,私人账号,这时候就2个账号用一个key,肯定会冲突,有一个会提示没权限(账号和密码对应不上) ssh ...

echojson
26分钟前
0
0
rabbitmq安装教程

RabbitMQ有Windows与Linux版本的,这里先写Windows版本的安装。 以前安装软件总是在百度上找某某安装教程,结果能按照教程安装好的软件真的不多。想起先前以为大牛说的一句话,去官网按照官网...

em_aaron
今天
7
0
Android 贝塞尔曲线实践——波浪式运动

一、波浪效果如下 贝塞尔曲线自定义波浪效果的案例很多,同样方法也很简单,大多数和本案例一样使用二次贝塞尔曲线实现,同样还有一种是PathMeasure的方式,这里我们后续补充,先来看贝塞尔曲...

IamOkay
今天
3
0
Nmap之防火墙/IDS逃逸

选项 解释 -f 报文分段 --mtu 指定偏移大小 -D IP欺骗 -sI 原地址欺骗 --source-port 源端口欺骗 --data-length 指定发包长度 --randomize-hosts 目标主机随机排序 --spoof-mac Mac地址欺骗 ...

Frost729
今天
2
0
带你搭一个SpringBoot+SpringData JPA的环境

不知道大家对SpringBoot和Spring Data JPA了解多少,如果你已经学过Spring和Hibernate的话,那么SpringBoot和SpringData JPA可以分分钟上手的。 其实我在学完SpringBoot和SpringData JPA了之...

java菜分享
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部