Reactive programming platform Akka, which caters for both Java and Scala, celebrated another milestone this week with the final release of Akka Streams and HTTP 1.0. An implementation of Reactive Streams (interfaces designed to govern the exchange of stream data across an asynchronous boundary and ensure that the receiving side is not forced to buffer arbitrary amounts of data), Akka Streams is written in Scala, but also comes furnished with a Java 8 API.
In a blogpost to Akka “hakkers”, Typesafe’s Konrad Malawski writes that after months of extensive tinkering, the team finally consider Streams and HTTP suitable for evaluation and production use – with certain caveats. Although the version 1.0 is fully GA and good to go, a “correctness first” approach has been taken in this case, meaning that it’s not quite optimised for hurling in anger at high performance applications. Work will be continuing in this respect, and Malawski writes that subsequent work for the 1.1 release will put the impetus on closing the gap with Spray.
Since the previous release candidate, there have been considerable updates to documentation on advanced stages, modularity and the Java DSL for HTTP. There have been improvements to HTTP stability under high load, a number of new streams operators have been packed in, and the Streams cookbook has been translated for Java folk. Akka Streams and HTTP have also now been fully packaged for OSGi.
If you’re not too familiar with the topic area of Akka, here’s interview with Malawski (filmed at Devoxx Poland 2015) which outlines the Akka Streams project, why you might want to use asynchronous code, and where it comes in handy.
You can find the complete list of closed tickets and milestones for Streams and HTTP over at GitHub. If you’d like to get stuck in with Streams, there’s also a helpful tutorial over at Typesafe HQ to see you on your way.