Building Clojure Services at Scale
blog.josephwilk.net
blog.josephwilk.net
When you're getting started with Clojure, it's easy to do everything that needs to happen "later" or "in the background" as a future. Once you go to production, you realize that about half of those futures should have been jobs going into a queue somewhere, with logging and guaranteed delivery, retrying on another machine, if necessary.
I haven't gotten to the point of writing that library, but I probably will, soon.
If you're interested in collaborating, or just have thoughts on how it could be more useful for you, let me know.
Edit: I was already a big fan of SoundCloud, very pleased to find out they use Clojure.
In this case, it's definitely worth unblocking. :-)
I'm looking forward to playing with Finagles Java API as at some point I'm going to need to connect our Finagle projects with our Clojure services.
See the scala docs for JavaConversions to see how to make scala collections look like java ones.
I live in scala land, but I prefer java libraries for this reason.
For clojure/java interop, there's also good writeups in 2 Manning books, and also the OReilly and Pragmatic books. It looks like combining them (Scala/clojure interop) would take some plumbing, depending on the specific libs involved but i havent' tried. (And the Manning authors are all pretty far along on 2nd editions of both "Joy" and "In Action")