一个配置文件:
复制代码代码如下 :
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
canalEnvoyerOptions="6">
<Manager className="org.apache.catalina.ha.session.BackupManager"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"
mapSendOptions="6"/>
<!--
<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"
adresse="228.0.0.4"
port="45564"
fréquence="500"
dropTime="3000"/>
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
adresse="auto"
port="5000"
sélecteurTimeout="100"
maxThreads="6"/>
<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
</Expéditeur>
<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.ThroughputInterceptor"/>
</Canal>
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
filtre=".*/.gif|.*/.js|.*/.jpeg|.*/.jpg|.*/.png|.*/.htm|.*/.html|.*/.css |.*/.txt"/>
<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
tempDir="/tmp/war-temp/"
déployerDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>
说明如下:
1、Cluster复制代码代码如下 :
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
canalEnvoyerOptions="6">
1)Tomcat 集群主元素,在这个元素里面可以配置集群的所有详细信息
2)className主要的集群类,当前只提供了org.apache.catalina.ha.tcp.SimpleTcpCluste作为实现类
3)channelSendOptionssession est disponible en version 8, en version 8 et en version SimpleTcpCluste pour SimpleTcpCluste.
4) Canal.SEND_OPTIONS_SYNCHRONIZED_ACK = 0x0004
Canal.SEND_OPTIONS_ASYNCHRONOUS = 0x0008
Canal.SEND_OPTIONS_USE_ACK = 0x0002
L'option (ASYNCHRONOUS) et (USE_ACK) sont associées à un appel à 10(8+2)或者0x000B.
La fonction (SYNCHRONIZED_ACK) et (USE_ACK) est associée à un système de 6(4+2)或者0x0006.
2、Gestionnaire复制代码代码如下 :
<Manager className="org.apache.catalina.ha.session.BackupManager"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"
mapSendOptions="6"/>
<!--
<Manager className="org.apache.catalina.ha.session.DeltaManager"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"/>
-->
1)管理tomcat之间的session复制
2)className当前有两个实现类:org.apache.catalina.ha.session.DeltaManager et org.apache.catalina.ha.session.BackupManager
3)DeltaManager n'a pas de session de travail.有个局限性就是集群的节点类型要相同,而且要部署相同的应用程序
4)expireSessionsOnShutdown pour la session Web, pour la session d'écoute de Tomcat.点被停止时,如果想销毁所有节点下的的Session,设置为true ,默认为faux
5) notifyListenersOnReplication est vrai, et la session est configurée pour l'écouteur de session.
3、Canal复制代码代码如下 :
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
Channel est Apache Tribes, DeltaManager est un canal pour Apache Tribes. Le canal de canal SimpleTcpCluster est doté d'un canal de sauvegarde. Le canal ReplicatedContext est un contexte de canal.
4、Adhésion
复制代码代码如下 :
<Membership className="org.apache.catalina.tribes.membership.McastService"
adresse="228.0.0.4"
port="45564"
fréquence="500"
dropTime="3000"/>
MemberShip (Multidiffusion)实现。
5、Récepteur复制代码代码如下 :
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
adresse="auto"
port="5000"
sélecteurTimeout="100"
maxThreads="6"/>
Il s'agit de sockets de serveur TCP non bloquantes.
6、Expéditeur复制代码代码如下 :
<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
</Expéditeur>
管理从一个节点发送到另外一个节点的出站连接和数据信息 , 允许信息并行发送。默认使用 Sockets clients TCP。
7、Intercepteur复制代码代码如下 :
<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.ThroughputInterceptor"/>
Channel通过Interceptor est également connu sous le nom de ChannelInterceptor.
8、Valeur复制代码代码如下 :
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
filtre=".*/.gif|.*/.js|.*/.jpeg|.*/.jpg|.*/.png|.*/.htm|.*/.html|.*/.css |.*/.txt"/>
1)Value在调用Http Request 链中起着拦截器的作用,用来决定什么情况下数据需要被复制.
org.apache.catalina.ha.tcp.ReplicationValve,ReplicationValue et HTTP Request结尾判断当前数据是否需要被复制。
2)Filtre pour l'url et la session, pour la session变化,从而不会复制和发送改变的session属性。
9、Déployeur复制代码代码如下 :
<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
tempDir="/tmp/war-temp/"
déployerDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>
使集群支持déploiement agricole
10、ClusterListener复制代码代码如下 :
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
Clusterlistener s'en charge.
ClusterSessionListener est également utilisé pour le gestionnaire de sessions ClusterSessionListener.