Akka Streams have these key properties:
- They implement the Reactive Streams specification, whose three main goals backpressure, async and non-blocking boundaries and interoperability between different implementations do fully apply for Akka Streams too.
- They provide an abstraction for an evaluation engine for the streams, which is called
- Programs are formulated as reusable building blocks, which are represented as the three main types
Flow. The building blocks form a graph whose evaluation is based on the
Materializerand needs to be explicitly triggered.
In the following a deeper introduction in how to use the three main types shall be given.