Multi-Master Memcached Replication
dormando
dormando at rydia.net
Mon Apr 21 19:19:56 UTC 2008
> I would like to create the scenario where I have:
>
> 2 tomcat web servers
> 2 memcached servers
> 1 Postgresql database
>
> So that the memcached servers are staying in sync with each other, in a
> multi-master fashion. I found the tool repcached, but it is
> single-master, single slave. This will not work for my application. Any
> ideas?
Be sure you're doing it right. The "normal" memcached pattern is to add
servers to a cloud. So if you lose one server your hit ratio will be cut
by 50% until that server comes back up or you add another one. If you
have three memcached's and you lose one, the cache hit ratio will drop
by 33%, and so on.
If you require master:master replication that will stunt your growth to
two servers max. Among other issues...
There's another replication option which Brian just mentioned, where you
may send multiple replicas of one cache item into the cloud. That
approach doesn't stunt growth, but halves effective cache size. Since
you're storing everything at least twice.
This is like RAID10'ing your drives. The cost becomes more obviously
painful as you add servers. If you had 100 memcached's and one died
you'd get a 1% hit to your hit ratio. If you're replicating you'd
probably need 200 memcached's to get the same memory capacity, but avoid
the 1% drop...
So you should weigh these options and do what makes the best sense for
your project.
-Dormando
More information about the memcached
mailing list