首页 > 代码库 > tomcat 设置集群
tomcat 设置集群
本文介绍的是使用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 设置集群
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。