Brief Introduction
Principles of Reactive Programming in Scala.
Description
Reactive programming is a set of techniques for implementing scalable, resilient and responsive systems as per the Reactive Manifesto. Such systems are based on asynchronous message-passing, and their basic building-blocks are event handlers. This course teaches how to implement reactive systems in Scala and Akka by using high-level abstractions, such as actors, asynchronous computations, and reactive streams.
Knowledge
- use, transform and sequence asynchronous computations using Future values,
- write concurrent reactive systems based on Actors and message passing, using untyped Akka and Akka Typed,
- design systems resilient to failures,
- implement systems that can scale out according to a varying workload,
- transform and consume infinite and intermittent streams of data with Akka Stream in a non-blocking way,
- understand how back-pressure controls flows of data