Akka/Pekko Streams with Scala
Learn Akka or Pekko to harness the power of Reactive Streams in your hands. Write reactive data-rich systems at any scale, and write in 10 lines what other people write in 3000.
Plug and play.
If you're reading this, I probably don't need to talk to you about the reactive manifesto or the Reactive Streams initiative. The terms are fancy but they lay down powerful principles, which have been proven and sent to production in many many many places. The idea is simple: water tap, pipes, sink, plug all and go. Except we call those data sources, transformers and data sinks.
This course is for the Scala & Akka/Pekko developer who wants to write scalable asynchronous data pipelines quickly, also known as "fast data" or "reactive" systems.
You'll learn to write fault-tolerant async data pipelines at scale, in as many lines as it takes Java to write "hello world".
This course is compatible with both Akka and Apache Pekko (the open-source version of Akka).
After this course, you'll be able to:
- use the principles of the reactive manifesto in your applications
- read, transmit and process data with high performance, at scale, with streaming components
- describe massive streams of any shape and size with the Graph DSL, without needing to care about concurrency
- use backpressure to control the flow of data through your system
- use streams materialization, a difficult concept understood only by the very best
- use graph cycles in your streams to your advantage
- create your own streaming components with as much control as you like
- integrate Akka or Pekko Streams with normal actors
- avoid concurrency pitfalls
- circumvent cyclical streaming deadlocks
- maintain data integrity in the face of disproportional demand or supply
Plus some extra perks:
- You'll have access to the entire code I write on camera (all 2100 lines of it)
- You'll be invited to our private Slack room where I'll share latest updates, discounts, talks, conferences, and recruitment opportunities
- (soon) You'll have access to the takeaway slides
- (soon) You'll be able to download the videos for your offline view
Skills you'll get:
-
Reactive Streams and Akka or Pekko Streams principles
- understand what "reactive" means
- use streaming components
- understand and use stream materialization
- control the data flow in your streams with backpressure
- test Akka streams
-
The Streams Graph DSL
- describe streaming architectures of any shapes and size
- create composite components and use them atomically in other graphs
- obtain materialized values from any streaminng graph
- use and control graph cycles
-
Streams best practices
- integrate streams with Akka actors
- integrate streams with (general) external services
- reliably test Akka or Pekko Streams with the Akka Streams TestKit
- achieve fault-tolerance in your streams
-
Advanced techniques with Akka or Pekko Streams used by the very best
- split data into parallelizable substreams
- manage Akka streams at runtime
-
use the powerful GraphStage API to create your own components
all with live runnable examples and practiced with exercises.
Get started now!
Your Instructor
I'm a software engineer and the founder of Rock the JVM. I started the Rock the JVM project out of love for Scala and the technologies it powers - they are all amazing tools and I want to share as much of my experience with them as I can.
As of February 2024, I've taught Java, Scala, Kotlin and related tech (e.g. Cats, ZIO, Spark) to 100000+ students at various levels and I've held live training sessions for some of the best companies in the industry, including Adobe and Apple. I've also taught university students who now work at Google and Facebook (among others), I've held Hour of Code for 7-year-olds and I've taught more than 35000 kids to code.
I have a Master's Degree in Computer Science and I wrote my Bachelor and Master theses on Quantum Computation. Before starting to learn programming, I won medals at international Physics competitions.