Typesafe release Akka 2.0 – a modernised middleware framework
Learning from experiences of the first version, the concurrent event-driven framework for the JVM is back, with its sequel promising bigger things.
After a radically successful period with their first version of their modern framework Akka, Typesafe have announced the general availability of the successor – Akka 2.0, promising ‘a revolutionary step in programming for concurrency, fault-tolerance and scalability.’
Big claims. After all, the Akka 1.0 series was phenomenally popular for its reliability at scale and the ease of creating lightweight concurrent actors. Akka, for those unaware, is a modern event-driven middleware framework, for building high performance and reliable distributed applications in Java and Scala.
Typesafe CTO and co-founder, Jonas Bonér announced the release on their blog stating that ‘Akka 2.0 represents a major update to the Akka 1.x series of releases.’ The stats certainly back up that claim: 700 tickets closed, 1,020 files changed and over 300 pages of reference documentation show the mammoth task undertaken by the team and the wider group of committers. Rest assured, this isn’t just a minor update, it’s progressing Akka much further. Bonér adds:
While many of the key concepts in 2.0 will be familiar to Akka 1.x developers, there are quite a few changes under the hood. So we’ve provided a migration kit to ease the transition.
The highlight reel is pretty extensive, but as previously talked about in milestone releases, the changes to actors have been plentiful. Modularity has been tackled head-on, as in Akka 2.0, all global shared state has been removed so that multiple actor systems can co-exist. An Akka application is now contained within an ActorSystem class.
The Actor System effectively becomes a set of flexible building blocks and can be used as standalone containers that allow users to manage the behaviour, structure, life-cycle and configuration of actors. Within the Actor System, you can now instigate supervision and monitoring (entitled the bone-chilling Death Watch). This means you can delegate tasks to subordinates with the supervisor (while still keeping an eye on their failures) and use monitoring to tie one actor to another, so it reacts to its counterpart’s termination. What you could do with actors in the previous version was fairly limited, so the boundaries have been pushed.
Both Java and Scala APIs are maintained (meaning you don’t need to touch Scala if you don’t want to) and the addition of a new Event Bus feature should allow for a greater sense of control when sending messages to actors. There’s of course the aforementioned improvement in performance and scalability as well.
The timing of Akka 2.0 appears to be ahead of Typesafe’s even bigger announcement of Typesafe Stack 2.0 within the coming days, which will tie all of the latest products together for commercial support. Other projects in the works include Akka Camel 2.0 (dubbed “Alpakka”), Akka AMQP 2.0 and Akka Spring 2.0,
For more information, check out the freshly renovated Akka site, where you can also download the stable release. When you’ve got this much to shout about, a lick of paint certainly goes a long way. We’re excited to see what else Typesafe currently have cooking up…