FREE Training Courses — 100+ Hours of Akka and Reactive Architecture Expertise Get Started
 

News & Articles

Full archive

February 23

2018

Akka 2.5.10 Released

Dear hakkers,

We are excited to announce a new patch release of Akka 2.5. This version contains several new features:

Other notable improvements and bug fixes:

A total of 131 issues were closed since 2.5.9. The complete list can be found on the 2.5.10 milestone on github.

Artery transport with TCP and TLS

Customers and users have asked for encryption in the new remoting implementation (Artery). Rather than adding encryption to Aeron (UDP) we decided to include an alternative transport based on Akka Streams TCP/TLS, which shares its basic infrastructure with the Aeron (UDP) transport.

It can also be used with plain TCP without TLS, which is a good alternative when UDP can’t be used. It’s also using less CPU than Aeron when the system is idle or at low message rates.

We have done extensive testing of the new transport, and we continuously run all of Akka’s tests for remoting and clustering with the TCP transport in the CI environment. However, since it’s a new implementation the TCP/TLS transport is not ready for usage in production yet, but please test it and report any issues.

You find more information and instructions of how to enable TCP or TLS in Artery in the documentation.

StreamRefs - Reactive Streams over the network

Stream references, or “stream refs” for short, allow running Akka Streams across multiple nodes within an Akka Cluster.

The screencast should give you a good overview of this exciting feature.

The prime use case for stream refs is to replace raw actor or HTTP messaging between systems where a long running stream of data is expected between two entities. Often times, they can be used to effectively achieve point to point streaming without the need of setting up additional message brokers or similar secondary clusters.

Stream refs are well suited for any system in which you need to send messages between nodes and need to do so in a flow-controlled fashion. Typical examples include sending work requests to worker nodes, as fast as possible, but not faster than the worker node can process them, or sending data elements which the downstream may be slow at processing. It is recommended to mix and introduce stream refs in Actor messaging based systems, where the actor messaging is used to orchestrate and prepare such message flows, and later the stream refs are used to do the flow-controlled message transfer.

You find more details in the documentation.

Akka Typed

There are several breaking changes since 2.5.8 and 2.5.9 in the under-development “may change” Akka Typed module. Most of the development has been completed and from now on only minor adjustments in the APIs are expected. Akka Typed 2.5.10 should be stable enough to start using for development.

Our goal is to ship a production ready version of Akka Typed soon and therefore we have removed the new runtime implementation and initially only support running typed actors with the underlying untyped actor system. See the Coexistence documentation.

Some major structural changes to Akka Typed have been done, such as splitting up in separate modules e.g. akka-actor-typed with package root akka.actor.typed, and akka-cluster-typed with package akka.cluster.typed.

Other notable improvements of Akka Typed:

Credits

For this release we had the help of 36 committers – thank you all very much!

commits  added  removed
     38   9046     3376 Patrik Nordwall
     32   8484     2425 Johan Andrén
     17  13258     4738 Konrad `ktoso` Malawski
     16   2653      535 Christopher Batey
     14    622      148 Johannes Rudolph
     13    653      185 Arnout Engelen
      8    514      259 Martynas Mickevičius
      5    300       97 Richard Imaoka
      3    428      760 Catalin Ursachi
      3    104       39 Roman Filonenko
      3     46       23 Josep Prat
      2    781       10 gosubpl
      2    270       26 Viktor Klang (√)
      2    135       33 Stefano Bonetti
      2      5        5 Song Kun
      1   4811      102 Renato Cavalcanti
      1    198        9 虎鸣
      1    141       10 Ignacio (nachinius) Peixoto
      1    110        0 Oleksii Tkachuk
      1    101        3 Evgeny Veretennikov
      1     59       26 jeremystone
      1     51        6 Albert Serrallé Ríos
      1     55        1 Anil Gursel
      1     33       10 Arron Norwell
      1     31        7 pwliwanow
      1     36        0 Nick Aiello
      1     11       11 Denys Zadorozhnyi
      1     19        2 ryota-sakamoto
      1      1        7 James Roper
      1      4        4 Victor Hiairrassary
      1      5        2 Daniel Urban
      1      1        2 Sebastian Harko
      1      1        1 Fredrik Meyer
      1      1        1 Ryan C. Hill
      1      1        1 Marc Piechura
      1      1        0 Julien Broi

Happy hakking!

– The Akka Team