Akka 2.2-M1 Released

Dear hAkkers,
We—the Akka committers—are pleased to be able to announce the availability of Akka 2.2-M1 (PRE-RELEASE MILESTONE ONE).
It is a preview on what is going to become Akka 2.2, so please give us feedback!
The most notable features in this release are:

 

Cluster support improvements
  • Metrics-based adaptive cluster-aware routers
  • DeathWatch fires upon node DOWN (previously on UNREACHABLE)
  • Configurable minimum number of nodes before cluster starts
  • ClusterSingleton actor pattern
  • Hardening of the code by adding stress tests
  • various fixes, optimizations
Rewritten Remoting layer to be actor-based and thus lock-free
  • Smaller SPI for implementing other transport drivers
  • Support for multiple transports within one ActorSystem
  • No more blocking message sends due to broken connections or during connection establishment
  • Currently still using Netty, but will switch to Akka IO soon
  • Completely new IO layer written in collaboration with the spray.io team
  • Actors all the way down—until you hit NIO
  • No external dependencies
  • Extreme scalability
  • No compromises on the API (i.e. fully exposing the different capabilities of e.g. TCP and UDP)
Typed Channels for Scala
  • Type-safety for message sends which is on par with type checking of method invocations
  • Based on Scala 2.10 macros; unfortunately not possible to do in Java
  • Very early preview, expect API changes within the next weeks
The akka.actor.IO support has been deprecated and is being replaced with the new IO layer in package akka.io. The question of why this has been done as opposed to just wrapping Netty behind actors has been answered recently on the spray mailing list (https://groups.google.com/d/topic/spray-user/7l1RbqxRuic/discussion), in a nutshell the reason for joining forces with the spray.io team was that Netty—while being a great network framework—replicates a lot of what Akka actors solve (thread management, the pipeline stages as light-weight special actors) which makes it cumbersome to keep resource usage of an Akka application as low as it could be. Another aspect is that Netty as a Java library heavily uses mutability, comes with its own Futures, etc. So the decision was made to create a very lean, specialized actor-based layer on top of NIO which from now on will form the foundation on which Akka and Spray base their network support.

 

When migrating an existing project from Akka 2.1.0 please have a look at our migration guide.
Take it for a spin!

 

Akka is released under the Apache V2 license.
2.2-M1 compared to Akka 2.1.0:
121 tickets closed (2.2-M1  2.1.x)
744 files changed, 41156 insertions(+), 16523 deletions(-)

 

Credits:
commits added removed
   62    6476    3442 Roland
   58    8925    4476 Patrik Nordwall
   57   10824    6041 Endre Sándor Varga
   43    3040    4311 Viktor Klang
   17     819     440 Björn Antonsson
   11    1324     322 Johannes Rudolph
   10    1109     527 Mathias
    6    1108     289 Rich Dougherty
    5     311     139 RickLatrine
    2      83      20 Kaspar Fischer (hbf)
    2     127      66 Christophe Pache
    2     163      66 Raymond Roestenburg
    1      10       3 Michael Pilquist
    1     127     127 drewhk
    1     548      77 Helena Edelson
    1      38      24 Matthew Neeley
    1       8      10 Peter Vlugter
    1       3       3 Thomas Lockney
    1      36      35 Derek Mahar

Happy hAkking!

Recent comments

Blog comments powered by Disqus

1 Notes

  1. gbenvenuti reblogged this from hakkers
  2. hakkers posted this