一个配置文件:
复制代码代码如下:
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
channelSendOptions="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"
Häufigkeit = „500“
dropTime="3000"/>
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
Adresse = „Auto“
Port="5000"
selectorTimeout="100"
maxThreads="6"/>
<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
</Absender>
<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"/>
</Kanal>
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
filter=".*/.gif|.*/.js|.*/.jpeg|.*/.jpg|.*/.png|.*/.htm|.*/.html|.*/.css |.*/.txt"/>
<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.ClusterSessionListener"/>
</Cluster>
说明如下:
1、Cluster复制代码代码如下:
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
channelSendOptions="6">
1)Tomcat集群主元素,在这个元素里面可以配置集群的所有详细信息
2)className主要的集群类,当前只提供了org.apache.catalina.ha.tcp.SimpleTcpCluste作为实现类
3)channelSendOptionssession ist die erste Instanz von 8 und enthält die Funktion SimpleTcpCluste
4) Channel.SEND_OPTIONS_SYNCHRONIZED_ACK = 0x0004
Channel.SEND_OPTIONS_ASYNCHRONOUS = 0x0008
Channel.SEND_OPTIONS_USE_ACK = 0x0002
10(8+2) oder 0x000B
Die Funktion „(SYNCHRONIZED_ACK)“ und „(USE_ACK)“ ist nicht verfügbar, die aktuelle Version ist 6(4+2) oder 0x0006
2、Manager复制代码代码如下:
<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) Klassenname: org.apache.catalina.ha.session.DeltaManager und org.apache.catalina.ha.session.BackupManager
3) DeltaManager-Sitzung:过有个局限性就是集群的节点类型要相同,而且要部署相同的应用程序
4)expireSessionsOnShutdown当一个web节点被停止时,如果想销毁所有节点下的的Session,设置为wahr ,默认为false
5)notifyListenersOnReplication ist die Antwort auf „true“, und „session“ zeigt die Funktion „session listener“ an
3、Kanal复制代码代码如下:
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
Channel – Apache Tribes – Channel – Channel – Kanal – Kanal – Kanal – Tomcat – Tomcat – DeltaManager Verwenden Sie den SimpleTcpCluster-Kanal und den BackupManager ReplicatedContext ist eine Channel-Context-Umgebung.
4、Mitgliedschaft
复制代码代码如下:
<Membership className="org.apache.catalina.tribes.membership.McastService"
Adresse="228.0.0.4"
port="45564"
Häufigkeit = „500“
dropTime="3000"/>
MemberShip Multicast-Funktionalität.
5、Empfänger复制代码代码如下:
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
Adresse = „Auto“
Port="5000"
selectorTimeout="100"
maxThreads="6"/>
负责监听接收其他节点传送过来的数据。nicht blockierende TCP-Server-Sockets。
6、Absender复制代码代码如下:
<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
</Absender>
管理从一个节点发送到另外一个节点的出站连接和数据信息,允许信息并行发送。默认使用TCP-Client 。
7、Abfangjäger复制代码代码如下:
<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, Mitgliedsschiff, Mitgliedsschiff.
8、Wert复制代码代码如下:
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
filter=".*/.gif|.*/.js|.*/.jpeg|.*/.jpg|.*/.png|.*/.htm|.*/.html|.*/.css |.*/.txt"/>
1)Value在调用Http Request 链中起着拦截器的作用, 用来决定什么情况下数据需要被复制。
org.apache.catalina.ha.tcp.ReplicationValve, ReplicationValue und Http Request.
2)Filter内容为URL或者文件结尾,当访问链接配置filter时,不论实际session有没有改变,集群会认为session没有任何变化,从而不会复制和发送改变的session属性.
9、Bereitsteller复制代码代码如下:
<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
tempDir="/tmp/war-temp/"
DeployDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>
使集群支持Farmed Deployment
10、ClusterListener复制代码代码如下:
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
Die Clusterlistener-App ist nicht verfügbar.
Die ClusterSessionListener-Software ist die neueste Version von DeltaManager und die ClusterSessionListener-App ist der Session Manager.