tomcat-集群

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

 

转载于:https://www.cnblogs.com/huxl1/p/9538218.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值