码迷,mamicode.com
首页 > 其他好文 > 详细

tomcat 设置集群

时间:2016-09-09 23:53:05      阅读:307      评论:0      收藏:0      [点我收藏+]

标签:

本文介绍的是使用tomcat内置的集群功能。跟官方文档的区别是没有使用广播,而是使用了static membership的方式。

需要修改server.xml

放在哪个元素下来的,是Host还是啥记不清了

      <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8" channelStartOptions="3">
        <Manager className="org.apache.catalina.ha.session.DeltaManager"
                 expireSessionsOnShutdown="false"
                 notifyListenersOnReplication="true"/>

        <Channel className="org.apache.catalina.tribes.group.GroupChannel">

          <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
                    address="localhost"
                    port="4110"
                    autoBind="9"
                    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.TcpPingInterceptor"/>
          <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
          <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>

          <Interceptor className="org.apache.catalina.tribes.group.interceptors.StaticMembershipInterceptor">
                <!--Member className="org.apache.catalina.tribes.membership.StaticMember"
                  port="4110"
                  host="localhost"
                  domain="delta-static"
                  uniqueId="{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}"
                /-->
                <Member className="org.apache.catalina.tribes.membership.StaticMember"
                  port="4210"
                  host="localhost"
                  domain="delta-static"
                  uniqueId="{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0}"
                />
                <Member className="org.apache.catalina.tribes.membership.StaticMember"
                  port="4310" securePort="-1"
                  host="localhost"
                  domain="delta-static"
                  uniqueId="{2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1}"
                />
          </Interceptor>

        </Channel>
        <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/>
        <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>

        <ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
        <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
      </Cluster>

 这个使用直接的

有几个点需要注意 

1. Receiver.address这个属性如果是是暴露在127.0.0.1上,跑在别的机器上的是看不到它的,使用  netstat -lntp 查看一下

2. Cluster.channelStartOptions 必须这样设置才能真正的禁用广播

3. TcpPingInterceptor 这个是用来检查其他节点的状态的。 如果不设置这个,其他的节点挂了看不出来。

4. 每一个member是集群中的一个节点,不要当前节点放进去

5. webapp/youapp/WEB-INF/web.xml里添加<distributable/>标签。

 

tomcat 设置集群

标签:

原文地址:http://www.cnblogs.com/easyroom/p/5858334.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!