Implement asynchronous, non-blocking reactive streams with backpressure
contains 8.5 hours of video - equivalent to 2 days of live training.
Having problems? check the errata
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 | |