Cluster of servers in different networks

7

I'm setting up a cluster of Tomcat8 servers.

The servers are already doing load balancing (mod_jk), however I need to implement high availability (session replication).

In the documentation I have, Tomcat is configured to communicate via MultCast address (228.0.0.4), but I believe this is not useful for me, since my servers are on different networks (eg Server 1 - IP: 188,123 .123.14 and Server 2 - IP: 62.123.123.21)

Does anyone have any tips?

Server.xml (source: link )

<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.ClusterSessionListener"/>
</Cluster>
    
asked by anonymous 16.10.2014 / 22:02

1 answer

1

I ended up solving my problem using Memcached .

I know it's not the best solution, since it's like reinventing the wheel, plus it's an extra layer. This is the case!

    
02.12.2014 / 18:40