We sat down for a short Q/A with the Akka team at Lightbend, who recently released Alpakka 2.0 and included some major updates to various connectors in the Alpakka collection. In the short video above, we describe Alpakka, an open source initiative to implement stream-aware and Reactive integration pipelines for Java and Scala. It is built on top of Akka Streams, and has been designed from the ground up to understand streaming natively and provide a DSL for reactive and stream-oriented programming, with built-in support for backpressure. Akka Streams is a Reactive Streams and JDK 9+ java.util.concurrent.Flow-compliant implementation and therefore fully interoperable with other implementations.
Alpakka depends on many third-party libraries that have their own life cycle and publish improvements and new versions at their own pace. We wanted to catch up on many of those updates to bring them to the Alpakka users, which is the main motivation for this major version increase. These libraries may or may not be used in user code, but we don’t want anyone to be surprised by a new version. For the Alpakka connectors to AWS services, the community moved Alpakka to the next generation of their client libraries, which now offer non-blocking communication out of the box.
We’re glad to have an active community of Alpakka contributors who worked on a lot of the upgrades this required. We acknowledge this as being a never-ending effort and plan to release major upgrades with the latest libraries on a regular basis.
The rewrite of the Alpakka Cassandra connector–now professionally supported by Lightbend– is based on their new client library (which is nicely integrated with HOCON configuration just as Akka and Alpakka) and marks a great improvement. We also added a new connector to integrate with Pravega, a storage abstraction (stream) for continuous and unbounded data, which may become an alternative to Apache Kafka for some organizations.
We made an effort to make the use of the new Akka actor APIs (Akka Typed) more seamless in Alpakka. We recommend all users to tap into the new Akka actors APIs in Akka 2.6. The Akka Stream 2.6 API improvements which make the Akka stream Materializer
less prominent make Akka Streams more approachable.
A major change is that Alpakka Cassandra now backs Akka Persistence Cassandra for event sourcing. This improvement allows for connectivity with Cassandra through Akka Streams and Akka Persistence through the same connection management, and will eventually appear in a future release of Lagom Framework, as well.
To conclude, it is always great to see what happens when people share their Alpakka-related needs in issues and pull requests. With open source at its best, people from around the world can work together to improve their integrations with Akka Streams and other technologies. Keep up to date with us on Twitter (@akkateam) and visit https://akka.io/blog!
The Akka team has prepared a series of short videos covering topics like Actors, Event Sourcing, CQRS, Cluster Sharding, gRPC, and more. Check it out!