

Back-pressureĪ means of flow-control, a way for consumers of data to notify a producer about their current availability, effectively slowing down the upstream producer to match their consumption speeds. Buffer sizes are always expressed as number of elements independently from the actual size of the elements. All operations transform and transfer elements from upstream to downstream. Element An element is the processing unit of streams.

Akka Stream processing entities have bounded “mailboxes” that do not drop.īefore we move on, let’s define some basic terminology which will be used throughout the entire documentation: Stream An active process that involves moving and transforming data. This property of bounded buffers is one of the differences from the actor model, where each actor usually has an unbounded, or a bounded, but dropping mailbox. Each of these entities executes independently (and possibly concurrently) from the others while only buffering a limited number of elements at any given time. Translated to everyday terms, it is possible to express a chain (or as we see later, graphs) of processing entities. This latter property is what we refer to as boundedness, and it is the defining feature of Akka Streams.

Implementation platform(":akka-bom_$"Īkka Streams is a library to process and transfer a sequence of elements using bounded buffer space. LibraryDependencies += "" %% "akka-stream" % AkkaVersion Maven To use Akka Streams, add the module to your project: sbt val AkkaVersion = "2.6.18"
