by Viktor Klang
The Typesafe Stack includes the latest version of Akka event-driven middleware, version 1.1. For those of you who have been part of the Akka community for some time, I'd like to highlight some of what's new since Akka 1.0.
Enhancements with the Akka 1.1.x series of releases include:
- akka-actor now has 0 external dependencies. This means you can just pop it into any project you fancy without worrying about bloating your code base.
- Many fewer dependencies in total for the akka modules. We've tried to remove as many external dependencies as possible, to keep a slim profile.
- Dataflow API for Futures using delimited continuations, so you can write seemingly blocking code that will not block at runtime.
- The Futures in Akka are now fully Monadic which means that they are ready for for-comprehension goodness.
- Futures can now be executed natively on all the Dispatchers, avoiding the overhead of creating, starting and stopping an actor just to execute the body of a Future.
- The dispatchers in akka-actor are now all based on the same foundation, and have received even more tuning, to provide extreme performance and reliability.
- It is now possible to have priority of delivery of messages if needed. Just look for PriorityBasedEventDrivenDispatcher.
- Akka now doesn't use any logging library internally, but publishes a lot of events to the EventHandler, so you can use whatever logging library you desire.
- akka-remote has received a lot more love, tuning and hardening.
- Akka now has a TestKit module that includes tools to aid in testing actor-based applications.
- Tons of performance enhancements, fixes and new documentation.
If you're an Akka veteran, we're sure that you'll appreciate many of these enhancements. If you're new to Akka (or Scala), check out our guide to Getting Started with the Typesafe Stack for a head start.