On Tue, Jan 15, 2019, 12:51 PM Tim K <tim.k.5...@gmail.com wrote:

> On Tue, Jan 15, 2019, 4:10 AM Keiichi Fujino <kfuj...@apache.org wrote:
>
>> Hi
>>
>> If you use StaticMembershipInterceptor, you must set the
>> Cluster#channelStartOptions to 3 to avoid starting membershipservice.
>> If you are using Tomcat 9, you can also use StaticMembershipService
>> instead
>> of StaticMembershipInterceptor.
>>
>>
>> 2019年1月10日(木) 22:39 Tim K <tim.k.5...@gmail.com>:
>>
>> > On Wed, Jan 9, 2019, 2:16 PM Christopher Schultz <
>> > ch...@christopherschultz.net wrote:
>> >
>> > > -----BEGIN PGP SIGNED MESSAGE-----
>> > > Hash: SHA256
>> > >
>> > > Tim,
>> > >
>> > > On 1/9/19 10:39, Tim K wrote:
>> > > > I'm trying to split 4 separate tomcat instances into 2 clusters
>> > > > (2x2) to try and avoid the all-to-all traffic, but even when
>> > > > setting up the Receiver and Static members to only speak to 1 other
>> > > > instance, some still seems to find and add the other members
>> > > > outside of the defined config to the wrong cluster.  I read that
>> > > > mcast is still used when you have StaticMembers, could that be
>> > > > causing this issue?
>> > >
>> > > Multicast is only used for membership, so if you are using static,
>> > > there should be no multicast.
>> > >
>> > > Do you want to post your configuration(s)?
>> > >
>> > > - -chris
>> > > -----BEGIN PGP SIGNATURE-----
>> > > Comment: Using GnuPG with Thunderbird - https://www.enigmail.net/
>> > >
>> > > iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAlw2SIEACgkQHPApP6U8
>> > > pFh//A//WldkBxcRVWZ0Nj/FVjFqdhxr8dkystbk114wk8pjF/h5JOSmncQjvUn6
>> > > 999ZT54rXToS+Dl2svp9imR266o0+56bUvJVXG2O4NK7TQZsEsBdOsqfnWPoHBM3
>> > > kYS7lhzhlpmw1SDFlKVW0PnRX9acah5+SfVci5gL0cWTVqSkdmm4P6v2wqH1z7ej
>> > > AeMZ0w2LaoRH0TTxJk8cD2vJpvnB3oNjrtUhHZCPJCraITPHhFNFMOSmhhf3+e1S
>> > > K63D6l9kE3x4WDNtxKBBjr+5FaULM6kL5DotQlJPo0j7I4mL9DBgt2HkgTfoS39m
>> > > M7QBGBR4tZ1zRIJiGXQRViMRhqL+Xjny61RxtU7zUlfWSChTEonUiv5z6aZ7q5n2
>> > > xz1Evrw+gLmoR+YecOazMHef/7z6GFNCGyE80BFbR8LgHeOubaPfY+zhYw6iWSQP
>> > > eHt32x48vzPewYlV1HLJR7C1oXhFPN9QVT2r+UENcsMtlDdWIhaflw6nb3qXhP8N
>> > > t4xqlUJebON1KolHRXXReNgz6TieKLmup1jSgRvVhohSYBOputLB01PY5S7E6vLy
>> > > 33EZGHbCOWlZzC1qyiXRd7jIfkdsQ9oRRHknty1gi0id/20M+iqYS22ZggnXMtFX
>> > > P0lORhhEiWBSyMHytrIb+uO7HglocrSuQfgVaoAkiaRUDtyBdHg=
>> > > =PM9e
>> > > -----END PGP SIGNATURE-----
>> > >
>> > > ---------------------------------------------------------------------
>> > > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>> > > For additional commands, e-mail: users-h...@tomcat.apache.org
>> >
>> >
>> > Essentially I'm trying to have server1 and server2 only in cluster1 and
>> > server3 and server4 in only cluster2, but for some reason, members are
>> > getting added to clusters that they aren't configured for.
>> >
>> >
>> >
>> > server1 config:
>> >
>> > <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">
>> >
>> >                                 <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.EncryptInterceptor"
>> > encryptionKey="****Removed****" />
>> >
>> >                                 <Interceptor
>> >
>> >
>> className="org.apache.catalina.tribes.group.interceptors.TcpPingInterceptor"/>
>> >
>> >                                 <Interceptor
>> >
>> >
>> className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
>> >
>> >                                 <Interceptor
>> >
>> >
>> className="org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor"/>
>> >
>> >                                 <Interceptor
>> >
>> >
>> className="org.apache.catalina.tribes.group.interceptors.StaticMembershipInterceptor">
>> >
>> >                                                 <Member
>> > className="org.apache.catalina.tribes.membership.StaticMember"
>> > host="server2" port="4000" domain="cluster1"
>> > uniqueId="{1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15}"/>
>> >
>> >                                 </Interceptor>
>> >
>> >                 </Channel>
>> >
>> >                 <Valve
>> > className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/>
>> >
>> >                 <Valve
>> > className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
>> >
>> >                 <ClusterListener
>> > className="org.apache.catalina.ha.session.ClusterSessionListener"/>
>> >
>> > </Cluster>
>> >
>> >
>> >
>> > server2 [everything the same except the <Member/> is]:
>> >
>> > <Member className="org.apache.catalina.tribes.membership.StaticMember"
>> > host="server1" port="4000" domain="cluster1"
>> > uniqueId="{0,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15}"/>
>> >
>> >
>> >
>> > server3 [everything the same except the <Member/> is]:
>> >
>> > <Member className="org.apache.catalina.tribes.membership.StaticMember"
>> > host="server4" port="4000" domain="cluster2"
>> > uniqueId="{4,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15}"/>
>> >
>> >
>> >
>> > server4 [everything the same except the <Member/> is]:
>> >
>> > <Member className="org.apache.catalina.tribes.membership.StaticMember"
>> > host="server3" port="4000" domain="cluster2"
>> > uniqueId="{3,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15}"/>
>> >
>>
>>
>> --
>> Keiichi.Fujino
>>
>
> I set Cluster#channelStartOptions to 3, continuing to use the 
> StaticMembershipInterceptor
> for now with tomcat 9.  I can confirm this setting did prevent
> non-configured servers from getting added to clusters they were not
> configured for but It doesn't appear to persist the user session
> anymore.  I login and get a session on server1 and then stop it, expecting
> to fail over to server2, but it's not picking up the session started on the
> other member of the cluster.
>

I tried the StaticMembershipService instead
of StaticMembershipInterceptor.  I had to remove the
Cluster#channelStartOptions=3
to get it working (guess that was only needed for the
StaticMembershipInterceptor?).
I added a Membership element (above the Receiver) with the
StaticMembershipService
class, then put both a LocalMember and Member within it.  It appeared to
work.

>
Question: what's considered a "large" cluster  I've seen a lot of
documentation about small vs large but I'd like to know what is considered
large.  Could the DeltaManager handle one single cluster (all-to-all) with
8 members with 8GB allocated to each jvm, separate servers?  Not storing
much in the session besides 3-4 short strings.

Reply via email to