14 Oct 2010

Akka: Simpler Scalability, Fault-Tolerance, Concurrency & Remoting through Actors.

Img_0484
Jonas Bonér (@jboner) and Ross McDonald presented "Akka: Simpler Scalability..." at the London Scala User Group event at Skillsmatter yesterday.  I knew Akka was that very competent actors framework for Scala, with a vague sense that if I ever needed to do some serious actor stuff, I should go to Akka.  But in my mind that was just stability and performance, and I hadn't realized quite how rich Akka was.  Remote actors, agents (send behavior to state, rather than messages to behaviour), STM, transactors (actors+STM), modules... yup, got all of that stuff in there.

There were a couple of things I was particularly interested in.  First was Ross' description of how Thatcham have moved to Scala and Akka for the services they supply.  There's a write up, but highlights include the stability they have, on just a couple of servers, and the minimal amounts of code they have.  

I loved the module to integrate with Camel, meaning you can do things like wait for a file to be dropped in a directory and have the contents appear as a message to your actor. Or listen for a POST to a URL, meaning the content is delivered to your actor as a message.  Or JMS queue, which turns into...? Yes, a message to your actor.  You get the idea.  Goodbye integration, hello getting stuff done.

Impressive, rich open source product, with commercial support if you need it.

Links: