I was wondering if anyone had any better solutions for cache
consistency with geographically distributed memcached clusters.

The problem: Having just one big memcached cluster is great if you
only have one datacenter, but if you have datacenters in a couple
different locations around the world, latency becomes a big problem.
Making a couple memcached queries from US -> Europe for a single
client request can make page loads unacceptably slow.

Our current solution to this problem is to have multiple memcached
clusters, one for each geographic region (Europe/US/Asia).
Unfortunately, keeping them in sync with the underlying data (mysql,
using replication) in an unpleasant problem.

Facebook had a solution to this that they wrote about on their
engineering blog ( http://www.facebook.com/note.php?note_id=23844338919
).  They modified the mysql query grammar to support a list of keys to
invalidate.

Does anyone have any other interesting solutions to this problem?
(Keeping in mind that "only using one memcached cluster" likely won't
work because there is too much latency)

Reply via email to