Reactive Streams using
Akka implementation
Rahul Kumar
Software Developer
Scalaz
Reactive Stream
Streams
Akka
Reactive
Reactive application ??
Responsive
event-driven
Scalable Resilient
Reactive Platform
What is Akka?
Akka is a toolkit and runtime for building
highly concurrent,
distributed,
and resilient message-driven
applications
on the JVM.
It is a concurrency abstraction
Akka is based on Actor Model.
Responsive
resilient
Scalable
event driven
loosely coupled
asynchronous
&
non-blocking
Ephemeral flow of data.
What is Stream ?
“You Can’t enter the same river twice.” — Heraclitus
If you subscribe a publisher later you will miss
initial elements..
possibly unbounded in size
GPS tracking system
gaming Server
Live stream of videoex :
focused on describing transformation.
Stream Processing :
Data in Data out
but it does not happen all the time .. :-(
Clusters
Network
Asynchronous
Back-Pressure
R.I.P
Goal :
- Back - pressured Asynchronous stream
processing
- and satisfy all reactive specification
Reactive Streams
Reactive Stream is an initiative to provide a standard for
asynchronous stream processing with non-blocking back
pressure on the JVM.
Implementations of the draft spec :
Akka Streams
Reactor (spring.io)
RxJava
Akka Stream
http://www.typesafe.com/
i.e. things like batching, buffering, thread-safety are handled behind the
scenes.
http://akka.io/
Akka Streams provides a way to express and run a chain of asynchronous
processing steps acting on a sequence of elements.
Every step is processed by one actor to support parallelism.
The user describes the “what” instead of the “how”,
Thank You
Q/A

Sigmoid akka stream