Mô tả

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.

Bạn sẽ học được gì

What are reactive streams and when should you use them

How to build asynchronous, non-blocking, reative streams with back-pressure

The Akka Streams API and GraphDSL

How to correctly implement asynchronous boundaries and parallelism

How to integrate Akka Actors into reactive streams

Yêu cầu

  • Basic Java knowledge
  • Knowledge of Akka using Java and the Akka Typed API is needed
  • This is a follow on course to the "Practical Java concurrency with the Akka Actor Model" course

Nội dung khoá học

19 sections

Chapter 1 - Introduction

3 lectures
What are reactive streams?
11:39
Course files
00:04
How to get support for this course
01:51

Chapter 2 - Creating our first stream

6 lectures
A note about external sources
01:29
Using the Akka libraries
08:11
Creating a source
04:52
Creating a sink
03:55
Creating a flow
04:20
Building and running a graph
07:12

Chapter 3 - Simple Sources and Sinks

5 lectures
Finite Sources
06:03
Infinite Sources
07:42
Basic source operators
04:05
Creating sinks
03:00
Graph convenience methods
05:43

Chapter 4 - Simple Flows

5 lectures
Map and Filter
06:56
MapConcat
04:12
Grouped
02:08
Flows of generic data types
10:41
Combining flows with sinks and sources
09:20

Chapter 5 - Exercise 1 - Big Primes

2 lectures
Exercise
02:42
Walkthrough
10:17

Chapter 6 - Materialized values

4 lectures
What are materialized values?
08:46
The fold method and selecting a materialized value for the graph
10:19
Terminating the actor system
03:32
The reduce method
03:56

Chapter 7 - Stream lifecycles

3 lectures
Re-using graph objects
02:31
Converting infinite streams to finite streams with take and limit
04:38
The takeWhile and takeWithin functions
05:00

Chapter 8 - Logging

1 lectures
Logging elements in a stream
09:58

Chapter 9 - Back pressure and graph performance

5 lectures
Asynchronous boundaries
10:25
Introducing back-pressure
05:40
Adding buffers to the graph
06:28
Other overflow strategies
03:42
Parallelism
09:42

Chapter 10 - Exercise 2 - monitoring vehicle speed

2 lectures
Instructions to create an optimised graph with a materalised value
12:03
Walkthrough
15:40

Chapter 11 - The GraphDSL

4 lectures
Why do we need the GraphDSL?
03:45
Introducing the GraphDSL Syntax
05:12
Constructing a simple Graph using the GraphDSL
14:20
Understanding the Graph Construction and introducing Asynchronous Boundaries
11:30

Chapter 12 - Complex flow types

6 lectures
Introducing fan-in and fan-out shapes
03:42
Broadcast and merge
18:38
Using Balance for parallelilsm
14:48
Exercise 3 - implementing parallelism in GraphDSL
05:15
Uniform fan-in and fan-out shapes
12:40
Non uniform fan-in and fan-out shapes
17:51

Chapter 13 - Graphs with multiple sources and sinks

3 lectures
Combining sources with a fan-in shape
18:20
Sending to an interim sink with alsoTo
05:26
Diverting outliers to a different sink with divertTo
10:50

Chapter 14 - Non-runnable or partial graphs

2 lectures
Creating and combining open shapes
15:20
Using open shapes outside the graphDSL
02:32

Chapter 15 - Using actors in graphs

3 lectures
Adding an actor to our project
05:37
Using actors as flows
08:38
Using actors as sinks
07:50

Chapter 16 - Advanced backpressure

2 lectures
Conflate
14:00
Extrapolate and expand
05:58

Chapter 17 - The java flow package

1 lectures
Java's reactive streams interfaces
17:07

Chapter 18 - Case Study - Blockchain mining

6 lectures
Introducing the case study
19:04
Exercise 4 - receive transactions with backpressure
05:20
Walkthrough
05:06
Exercise 5 - mine using actors and apply the result
02:40
Walkthrough
08:05
Creating a circular graph
18:13

Appendix

2 lectures
A simple introduction to blockchains
08:36
Bonus lecture
00:12

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.