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.

Author

Posted by Matt Ingenthron, Senior Director, SDK Engineering, Couchbase

Matt Ingenthron is the Senior Director in Engineering at Couchbase where he focuses on the developer interface across SDKs, connectors and other projects. He has been a contributor to the memcached project, one of the maintainers of the Java spymemcached client, and a core developer on Couchbase.

Leave a reply