I'm stretching the legs on our new async framework Reactor [1] and I created a quite small helper class to enable efficient async operation of the official Java client. I'm calling it Riaktor (even though there's apparently an old Ruby gem of the same name that hasn't been updated in several years).
https://github.com/jbrisbin/riaktor Since it uses Reactor, it also has OOTB Groovy love, which includes using Closures as callbacks, etc… There's basically no documentation yet; only what's in the tests. But if you're brave enough to try out something completely new, I would love to get your feedback! :) I've load-tested this to over 150,000 ops/sec using 2 threads via Disruptor-based RingBufferDispatchers. Reactor itself can do 15M ops/sec on my three-year-old MacBook Pro so the bottleneck is going to be the network and your Riak cluster. But assuming you've got the bandwidth to handle it, Riaktor can push to (and pull from) Riak very efficiently. Once you've got some data in the client, the idea is that you'll want to continue integrating with Reactor's async tools by doing compositions (map, filter, reduce, etc… a la RxJava Observable). That's why Riaktor returns a Promise for almost everything. I'd be interested to get your feedback as it would directly feed back into better Reactor features. [1] - https://github.com/reactor/reactor/ Thanks! Jon Brisbin Twitter: @JonBrisbin http://about.me/jonbrisbin _______________________________________________ riak-users mailing list riak-users@lists.basho.com http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com