In some of the recent Membase meetups, the topic of what moxi does for clients has been discussed a bit. The bit of background many folks didn't initially have is that moxi began life as being a way to bring some “smarter” capabilities to some memcached clients, using many of the same techniques Dustin had written into spymemcached.
Mainly this was for PHP and Ruby clients, which typically run with many processes that either don't share resources at all or use apartment multithreading under Apache 2.
But, it wasn't yet ready for Membase and vBuckets…
As we needed to be able to reliably locate data on a cluster of changing topology, vBuckets were born, and moxi learned how to shuffle vBuckets in coordination with Membase, always keeping access to data available.
Since spymemcached is pretty advanced and doesn't really need help from moxi on connection handling, all we needed to do was teach it about vBuckets. That's now available!
It's a preview at the moment, but coming along quickly. I'd love to get your feedback on the Membase group.
As we complete the work, it should sediment into the next release of spymemcached.