在云服务器主机环境(不支持组播)基于单播模式的Tomcat Cluster集群配置

原创
2015/07/08 18:44
阅读数 1.4K

正常情况参考:http://tomcat.apache.org/tomcat-7.0-doc/cluster-howto.html 常规按照组播模式配置Tomcat集群。

但是发现在绝大部分云平台主机是不支持的组播和广播协议的,寻求解决方案。通过搜索和参考官方文档找到:http://tomcat.apache.org/tomcat-7.0-doc/config/cluster-interceptor.html#Static_Membership

参考配置并测试验证通过有效:

假设两台服务器:192.168.1.21和192.168.1.22,分别如下配置Cluster定义,并分别修改host属性指向对方节点IP。

<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">
            <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.StaticMembershipInterceptor">
                <Member className="org.apache.catalina.tribes.membership.StaticMember"
                      port="4000"
                      securePort="-1"
                      host="192.168.1.21"
                      domain="staging-cluster"
                      uniqueId="{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}"/>
            </Interceptor>
            <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
          </Channel>

          <Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
                 filter=".*.gif|.*.js|.*.jpeg|.*.jpg|.*.png|.*.htm|.*.html|.*.css|.*.txt"/>

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





展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部