You are correct - flushing query cache groups across the cluster with
JGroups (or something else) is a low overhead way to propagate
updates. My usual setup is to have post-update/remove/persist
listeners generate a distributed event with a cache group appropriate
for the object being saved. This allows to define flush granularity at
any level desired.
I don't have JGroups config specifically restricted to localhost,
however I haven't seen any problems with network flooding with mine.
Unless you also have some security considerations, you can use
something like that:
UDP(mcast_addr=231.12.21.132;mcast_port=45569;ip_ttl=4;tos=0;mcast_send_buf_size=150000;mcast_recv_buf_size=80000;bind_port=20000;port_range=500):PING(timeout=2000;num_initial_members=3):MERGE2(min_interval=5000;max_interval=10000):FD_SOCK:VERIFY_SUSPECT(timeout=1500):pbcast.NAKACK(gc_lag=50;retransmit_timeout=300,600,1200,2400,4800):UNICAST(timeout=300,600,1200,2400):pbcast.STABLE(desired_avg_gossip=20000):FRAG(frag_size=8096):pbcast.GMS(join_timeout=5000;shun=false;print_local_addr=true)
Andrus
On Sep 23, 2009, at 4:34 PM, Malcolm Edgar wrote:
Hi All,
I am looking to improve the performance of a set of web applications
running. We have one application which is used mainly for
adminsitration/configuration and a number of public facing web
applications
which can have a high load.
I have been experimenting with OSCache but the problem I see is that
the
query cache and the object cache are not unified, so I sometimes have
situations where the objects from the caches are not consistent.
While the
query cache can timeout, the object cache doesn't, so if another web
application makes an update the object cache in this application is
not
updated.
I presume the answer to this problem is using JGroups, if so does
anyone
have a configuration where its constrained to localhost. I don't
really want
to be broadcasting notification messages across the network.
regards Malcolm Edgar