
Learn to build reactive streams with Akka and Java by simulating external data sources within projects, while postponing real external connections to a future course on Akka HTTP.
Create a finite source of integers 1 to 10 using akka.stream.javadsl source.range, and connect the source with a flow and sink to form and run a graph.
Slow down a source to emit one element every three seconds and take five items using throttle and take operators in reactive streams.
Use mapConcat in Akka streams after a filter to emit multiple items per input, turning each integer into a list and flattening it into separate outputs.
Learn how to log Akka streams by configuring logback.xml and using flow-level log calls or actorSystem.log in lambdas to show flow input and output.
Explore alternative overflow strategies to back pressure, using added buffers and options like dropHead, dropTail, dropNew, and dropBuffer to manage data overflow in reactive streams.
Learn to introduce concurrency into a graph by parallelizing the slow flow with multiple actors. Use mapAsync with a parallelism level, CompletableFuture, and explore mapAsyncUnordered for speed.
This course builds on the "Practical Java concurrency with the Akka Actor Model" course and will extend your knowledge of using the actor model with Akka and Java to create reactive streams.
Reactive Streams are an essential tool in building real-world concurrent applications with the actor model – they allow us to build more complex processing scenarios, deal with varying data loads effectively, and provide the foundation for connecting our applications to external systems (which is covered in the Akka Http course).
For developers new to this technology it can be tough to get started, so in this course we cover everything from scratch. We build up the knowlege step by step, meaning you'll have no problems following along and understanding everything we do.
The course is full of practical real-world scenarios – we’ll be taking the blockchain mining application that we built in the Practical Java concurrency with the Akka Actor Model course a few steps further to make it even more realistic.
Please note that although Akka is built in Scala, no Scala knowledge is needed for this course - the course covers Akka with Java and we won't be writing any Scala code.
This course covers the newer Akka Typed API only.