tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stanimir Komitov <stani...@devbg.piranko.com>
Subject Tomcat clustering problems
Date Fri, 20 Feb 2009 14:21:15 GMT
Hi,
I`m having 2 clustered tomcats with jk configuration like this:
worker.list=bloader

worker.node1.port=12345
worker.node1.host=1.1.1.1
worker.node1.type=ajp13
worker.node1.lbfactor=1
worker.node1.fail_on_status=500, 503

worker.node2.port=12346
worker.node2.host=1.1.1.1
worker.node2.type=ajp13
worker.node2.lbfactor=1
worker.node2.fail_on_status=500, 503

worker.bloader.type=lb
worker.bloader.balance_workers=node1, node2
worker.bloader.sticky_session=0

My idea is the two tomcats to work normally and when one of them goes
down, the other to take its sessions and continue the work. That`s why
i`m using sticky_session=0. The whole thing works in the case when one
of the tomcats is running (other is stopped) and I work with my web
application, then I start the other tomcat (in starting process it gets
the presistent sessions) and when I stop the first tomcat all work
continues with the deserialized session from the second tomcat. This
means that my serialization and deserialization works fine. But when the
two tomcats are running, my problems starts. First, on every request I
get the response from tomcat_1 and tomcat_2 randomly (maybe this is the
work of load balancing) and that I use one session_id for two different
sessions (with different session attributes), and I can`t understand
this. When I set node1 worker to redirect to node2 on error state and
set property to node2 : worker.node2.activation=d
to stay disabled, all works fine (app works fine and I see that sessions
are replicated to the two tomcats), but when I stop one of the tomcats
the other responses with the same session, but with old attribute
values, and when I trace that, I see that there is no deserialization of
sessions when two tomcats are running, only on startup. What that means,
that they send session on stop and receive on start only?

server.xml for the tomcats (both are identical except for the jvmroute
names and ports
<Engine name="Catalina" defaultHost="test" jvmRoute="node1">
        <Realm ........."/>

        <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
channelSendOptions="10">
                <Context
className="org.apache.catalina.ha.context.ReplicatedContext"/>
                <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="224.0.0.3" port="2345"
frequency="500" dropTime="3000"/>
                        <Receiver
className="org.apache.catalina.tribes.transport.nio.NioReceiver"
                                address="xxx.xxx.xxx.xxx" port="7635"
selectorTimeout="100" autobind="0"
                                maxThreads="10"/>
                        <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"/>
                        <Interceptor
className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/>

                </Channel>
                <Valve
className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/>
                <ClusterListener
className="org.apache.catalina.ha.session.ClusterSessionListener"/>
        </Cluster>
:
</Cluster>


Any suggestions?
Cheers.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message