一个配置文件:
复制代码代码如下:
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
каналSendOptions="6">
<Manager className="org.apache.catalina.ha.session.BackupManager"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="истина"
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"
адрес="228.0.0.4"
порт="45564"
частота = "500"
dropTime="3000"/>
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
адрес="авто"
порт="5000"
селекторTimeout="100"
maxThreads="6"/>
<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
</Отправитель>
<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"/>
</Канал>
<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/"
развертываниеDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Кластер>
说明如下:
1、Кластер复制代码代码如下:
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
каналSendOptions="6">
1).
2) имя класса主要的集群类,当前只提供了org.apache.catalina.ha.tcp.SimpleTcpCluste作为实现类
3).
4) Channel.SEND_OPTIONS_SYNCHRONIZED_ACK = 0x0004
Канал.SEND_OPTIONS_ASYNCHRONOUS = 0x0008
Канал.SEND_OPTIONS_USE_ACK = 0x0002
如果使用(ASYNCHRONOUS)加(USE_ACK)方式来发送消息,那么值应该是10(8+2)或者0x000B
如果使用(SYNCHRONIZED_ACK)加(USE_ACK)方式来发送消息,那么值应该是6(4+2)或者0x0006
2、Менеджер复制代码代码如下:
<Manager className="org.apache.catalina.ha.session.BackupManager"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="истина"
MapSendOptions="6"/>
<!--
<Manager className="org.apache.catalina.ha.session.DeltaManager"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"/>
-->
1) сеанс Tomcat в режиме реального времени
2) Имя класса в формате org.apache.catalina.ha.session.DeltaManager и org.apache.catalina.ha.session.BackupManager.
3). 。不过有个局限性就是集群的节点类型要相同,而且要部署相同的应用程序
4) expireSessionsOnShutdown — веб-интерфейс, Tomcat — сеанс, прослушиватель сеанса, 当集群下某个节点被停止时,如果想销毁所有节点下的的Session, 设置为true ,默认为ложь
5) notifyListenersOnReplication — true, сеанс — в режиме реального времени, прослушиватель сеанса —
3, канал复制代码代码如下:
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
Channel的主组件,channel管理一组子组件,并和它们一起组成了tomcat实例间的通讯框架。在tomcat集群中, DeltaManager использует SimpleTcpCluster для канала Channel и BackupManager для канала Channel.组件这些组件来实现信息传递。ReplicationContext也会调用channel传递context属性。
4. Членство
复制代码代码如下:
<Membership className="org.apache.catalina.tribes.membership.McastService"
адрес="228.0.0.4"
порт="45564"
частота = "500"
dropTime="3000"/>
MemberShip не может быть использован в качестве поставщика услуг, а также не может быть использован в качестве поставщика услуг.组播(Многоадресная передача).
5, приемник复制代码代码如下:
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
адрес="авто"
порт="5000"
селекторTimeout="100"
maxThreads="6"/>
Используйте неблокирующие сокеты TCP-сервера.
6, Отправитель复制代码代码如下:
<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
</Отправитель>
TCP-пакеты для протоколов TCP. Клиентские сокеты.
7、Перехватчик复制代码代码如下:
<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"/>
Канал-перехватчик может быть использован в качестве средства массовой информации, членство в корабле-члене.
8、Ценность复制代码代码如下:
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
filter=".*/.gif|.*/.js|.*/.jpeg|.*/.jpg|.*/.png|.*/.htm|.*/.html|.*/.css |.*/.txt"/>
1) Значение может быть HTTP-запросом.
org.apache.catalina.ha.tcp.ReplicationValve, ReplicationValue и HTTP Request.
2) Фильтрация URL-адреса, настройка фильтра, настройка фильтра, настройка сеанса, настройка сеанса.有任何变化,从而不会复制和发送改变的session属性。
9、Развертыватель复制代码代码如下:
<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
tempDir="/tmp/war-temp/"
развертываниеDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>
使集群支持развертывание на ферме
10, прослушиватель кластера复制代码代码如下:
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
Clusterlistener используется для прослушивания кластеров.
Прослушиватель ClusterSessionListener может использоваться для прослушивания сеансов ClusterSessionListener, а также для управления прослушивателем ClusterSessionListener. «Менеджер сеансов».