在Tomcat中使用集群功能相对简单。最简单的用法是直接在server.xml文件的或节点下添加

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

配置,这意味着集群相关的配置都使用默认的,它其实等同于

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8">
          <Manager className="org.apache.catalina.ha.session.DeltaManager"
                   expireSessionsOnShutdown="false"
                   notifyListenersOnReplication="true"/>
          <Channel className="org.apache.catalina.tribes.group.GroupChannel">
            <Membership className="org.apache.catalina.tribes.membership.McastService"
                        address="228.0.0.4"
                        port="45564"
                        frequency="500"
                        dropTime="3000"/>
            <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
                      address="auto"
                      port="4000"
                      autoBind="100"
                      selectorTimeout="5000"
                      maxThreads="6"/>
            <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
              <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
            </Sender>
            <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
            <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
          </Channel>
          <Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
                 filter=""/>
          <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
          <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
                    tempDir="/tmp/war-temp/"
                    deployDir="/tmp/war-deploy/"
                    watchDir="/tmp/war-listen/"
                    watchEnabled="false"/>
          <ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener">
          <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener">
        </Cluster>

默认情况下使用DeltaManager会话管理器;使用GroupChannel作为集群通信通道,组播地址和端口为228.0.0.4和45564,使用ReplicationTransmitter作为消息发射器,使用NioReceiver作为消息接收器,另外添加TcpFailureDetector和MessageDispatch15Interceptor两个拦截器;使用ReplicationValve和JvmRouteBinderValve管道阀门;使用FarmWarDeployer作为集群部署器;添加JvmRouteSessionIDBinderListener和ClusterSessionListener集群监听器。

最新文章

  1. join和split的区别
  2. python基础-面向对象编程
  3. nginx开启日志,指定格式,查看执行时间
  4. Odoo10尝鲜:制造
  5. Linux Kernel之flush_cache_all在ARM平台下是如何实现的【转】
  6. MVC 特殊字符的显示
  7. oldboy第一天学习
  8. js基础-需要注意的地方
  9. QPushButton跑进度条(使用QSS的不同修饰来实现,其实是伪进度条)
  10. 解析 C# 7中的元组类型(ValueTuple)
  11. 4.Handler之CoreHandler编写
  12. 理解block和inode
  13. woff/woff2字体404找不到
  14. learnVUE-note
  15. @DateTimeFormat(pattern = &quot;yyyy-MM-dd HH:mm:ss&quot;) 前台request 获取body的格式是正确的 (2018-03-23 16:44:22) 但是Java 后台却格式化成了yyyy-MM-dd的格式 巨坑(@InitBinder搞得贵)
  16. freeRTOS中文实用教程1--任务
  17. Android开发之实现多次点击事件
  18. SpringMVC加载配置Properties文件的几种方式
  19. 基于AC有限状态机的多模匹配算法
  20. 企业库实现AOP的几种方法

热门文章

  1. Django+nginx+uwsgi部署教程(centos7+ubuntu16.4)
  2. 容器化分布式日志组件ExceptionLess的Angular前端UI
  3. MFC程序设计小结
  4. 索引法则--少用OR,它在连接时会索引失效
  5. js求和运算在可变参数的情况下ES3、ES5和ES6的写法区别
  6. java.lang.NumberFormatException: For input string: &quot; &quot;
  7. sea.js及三种加载方式的异同
  8. vue-router实现登录和跳转到指定页面,vue-router 传参
  9. PTA中如何出Java题目?
  10. Python 2.7 闭包的局限