This is a follow-on course to the Practical Concurrency with Akka course. You should have completed that course and be comfortable creating actors using the Akka Typed API before starting this course.
Having problems? check the errata for this course.
Introduction |
||
What are reactive streams? 11m 39s | Preview | |
Creating our first stream |
||
A note about external sources 1m 29s | Watch | |
Using the Akka libraries 8m 11s | Watch | |
Creating a source 4m 52s | Watch | |
Creating a sink 3m 55s | Watch | |
Creating a flow 4m 20s | Watch | |
Building and running a graph 7m 12s | Watch | |
Simple Sources and Sinks |
||
Finite Sources 6m 3s | Watch | |
Infinite Sources 7m 42s | Watch | |
Basic source operators 4m 5s | Watch | |
Creating sinks 2m 59s | Watch | |
Graph convenience methods 5m 43s | Watch | |
Simple Flows |
||
Map and Filter 6m 56s | Watch | |
MapConcat 4m 12s | Watch | |
Grouped 2m 8s | Watch | |
Flows of generic data types 10m 41s | Watch | |
Combining flows with sinks and sources 9m 20s | Watch | |
Exercise 1 - Big Primes |
||
Exercise 2m 42s | Watch | |
Walkthrough 10m 17s | Watch | |
Materialized values |
||
What are materialized values? 8m 46s | Watch | |
The fold method and selecting a materialized value for the graph 10m 19s | Watch | |
Terminating the actor system 3m 32s | Watch | |
The reduce method 3m 56s | Watch | |
Stream lifecycles |
||
Re-using graph objects 2m 31s | Watch | |
Converting infinite streams to finite streams with take and limit 4m 38s | Watch | |
The takeWhile and takeWithin functions 5m 0s | Watch | |
Logging |
||
Logging elements in a stream 9m 58s | Watch | |
Back pressure and graph performance |
||
Asynchronous boundaries 10m 25s | Watch | |
Introducing back-pressure 5m 40s | Watch | |
Adding buffers to the graph 6m 28s | Watch | |
Other overflow strategies 3m 42s | Watch | |
Parallelism 9m 41s | Watch | |
Exercise 2 |
||
Instructions to create an optimised graph with a materalised value 12m 3s | Watch | |
The GraphDSL |
||
Why do we need the GraphDSL? 3m 45s | Watch | |
Introducing the GraphDSL Syntax 5m 12s | Watch | |
Constructing a simple Graph using the GraphDSL 14m 20s | Watch | |
Understanding the Graph Construction and introducing Asynchronous Boundaries 11m 30s | Watch | |
Complex flow types |
||
Introducing fan-in and fan-out shapes 3m 42s | Watch | |
Broadcast and merge 18m 38s | Watch | |
Using Balance for parallelilsm 14m 48s | Watch | |
Exercise 3 - implementing parallelism in GraphDSL 5m 15s | Watch | |
Uniform fan-in and fan-out shapes 12m 40s | Watch | |
Non uniform fan-in and fan-out shapes 17m 51s | Watch | |
Graphs with multiple sources and sinks |
||
Combining sources with a fan-in shape 18m 20s | Watch | |
Sending to an interim sink with alsoTo 5m 26s | Watch | |
Diverting outliers to a different sink with divertTo 10m 50s | Watch | |
Non-runnable or partial graphs |
||
Creating and combining open shapes 15m 20s | Watch | |
Using open shapes outside the graphDSL 2m 32s | Watch | |
Using actors in graphs |
||
Adding an actor to our project 5m 37s | Watch | |
Using actors as flows 8m 38s | Watch | |
Using actors as sinks 7m 50s | Watch | |
Advanced backpressure |
||
Conflate 14m 0s | Watch | |
Extrapolate and expand 5m 58s | Watch | |
The java flow package |
||
Java's reactive streams interfaces 17m 7s | Watch | |
Case Study - Blockchain mining |
||
Introducing the case study 19m 4s | Watch | |
Exercise 4 - receive transactions with backpressure 5m 20s | Watch | |
Walkthrough 5m 6s | Watch | |
Exercise 5 - mine using actors and apply the result 2m 40s | Watch | |
Walkthrough 8m 5s | Watch | |
Creating a circular graph 18m 13s | Watch | |
APPENDIX |
||
A simple introduction to blockchains 8m 36s | Watch | |