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

tomcat-集群

时间:2018-08-26 19:00:55      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:sele   centos 7   ble   transport   vim   dispatch   frequency   bin   drop   

1 tomcat有一个内部组件cluster,可以放在host里或engine

2 集群每个节点都需要安装,时间同步,节点基于多播方式基于228.0.0.4的地址通信,多播的端口45564,(只要监听这一端口上的是)

3,主机上监听在端口上用来接收多播信息(4000-4100)

4定义两个interceptor当tomcat发生错误如何能探测出来

会话管理器:种类

      1 会话在缓存中随后将其保存在磁盘中

      2 每一会话本地保存还要多播传给其他几点

      3 种可以进行会话备用

      4 讲会话放在外面会话服务器上

1) 配置启用集群,将下列配置放置于<engine>或<host>中;server.xml中进行配置

<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>

对之前test做测试

cp  web.xml   /var/lib/tomcat/webapps/test/WEB-INF/

vim   web.xml

编辑WEB-INF/web.xml,添加<distributable/>;

重启tomcat,systemctl   start tomcat.service  此时报有语法错误

注意:CentOS 7上的tomcat自带的文档中的配置示例有语法错误;

1  是因为server.xml 中clusterListner 最后没有加\

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

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

2 绑定的地址为auto时,会自动解析本地主机名,并解析得出的IP地址作为使用的地址;将address= auto 改为自己的地址也有可能是hosts文件的解析

3 报没有支持多播机制,multicast     原因可能是因为地址的临时配置,

重启服务

访问:www.ilinux.com/test

 

tomcat-集群

标签:sele   centos 7   ble   transport   vim   dispatch   frequency   bin   drop   

原文地址:https://www.cnblogs.com/huxl1/p/9538218.html

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