
Introduction about the course tutor as a welcome message.
An introduction to AKKA
Let's clarify the terms. You will have a brief introduction on Concurrency, Thread, Multi-thread and parallel processing terminologies.
You will learn what the "Race Condition" is and get a real life example case
You will learn what are the AKKA modules/libraries.
An introduction to AKKA Actors Library.
You'll learn about how AKKA Actor works. A short brief about AKKA Classical and AKKA Typed actors
Install Maven on Mac by downloading the official binary zip, unzip to a folder, update the path in ~/.bash_profile, reveal hidden files if needed, source the profile, and verify installation.
Install the java jdk on Mac and explore open jdk options like adopt open jdk and SDKMAN, then verify the setup in the terminal with java -version.
Install IntelliJ on a Mac by downloading the community edition, running the DMG installer, entering the admin password, and accepting the user agreement to start using IntelliJ for Java development.
Java JDK Installation steps for Ubuntu.
Install Java on Windows, download OpenJDK 11 as a ZIP, extract to C:\Installations, set JAVA_HOME and PATH, and verify the Java version in command prompt.
Install Maven on Windows by downloading the binary zip, extracting it to a C drive Installations folder, and updating the PATH via environment variables to verify.
Install IntelliJ on Windows by downloading the free community edition from JetBrains (vs Ultimate paid), set Java files to open with IntelliJ, and create a desktop shortcut.
We will develop our first AKKA project. This is one of the most important lesson, you will learn how to create actors in Java with a simple application.
We will develop our 2nd AKKA application which is more meaningful. This application will be base for our following lessons.
Routers are ready to use libraries to make multithread applications with AKKA. You will learn how to create multi-instance (multithread) actors.
Router can be created by code, or by config. You will learn about how to create multi-instance actors using the configuration file.
Manage race conditions in Akka by routing balance checks through a single payment validation actor while other actors process payments in parallel, guided by a payment validation facade.
You will learn about the actor invocation patterns.
- Tell Pattern (Fire & Forget)
- Ask Pattern (Query response)
You will learn how to handle failures in actors with supervision strategies.
A detailed look into an AKKA Actor's life cycle from birth to termination
You will learn how to unit test akka actors in the system.
Discussion about all the possible out of the box routers and when to use which router.
Typed Actors are the new API. We'll have an introduction to AKKA Typed actors and develop our first application.
Invocation Patterns with AKKA Typed Actors.
You will also learn the best practice approaches the invocation of the AKKA Typed actors.
You will learn making actors multi-instance and developing multithread applications.
You will learn about the different type of routing strategies such as Round Robin, Random routing, Broadcasting and Group actors.
You will learn about how to handle failures in AKKA typed actors with supervision strategies.
You will learn the lifecycle of a typed actor from start to termination.
Learn AKKA typed actors through unit testing balance and echo messages with a fake DB and fake web service client, using behavior test kit and test inbox for verifiable results.
Thank you for taking this course. I present potential use cases and ready-to-use akka actors libraries, giving you a solid foundation to explore them.
AKKA is a free & open source toolkit developed in Scala. It's running on JVM as scala utilises JVM. It is addressing the difficult and complicated problem of implementing concurrent systems.
Original toolkit is available with two DSLs : Scala and Java.
In this course you will learn how AKKA actors work and learn developing concurrents systems with AKKA with Java language.
AKKA Actors has two variations. They do the same thing but, two different way of implementation.
- AKKA Classical is the libraries up until version version 2.6 and including 2.6
- AKKA Typed is the oher libraries which is introduced with 2.5 as trial and 2.6 as official.
In this course you will learn the both variations. We will first start with AKKA Classical, then will see AKKA Typed actors.
Java knowledge is required as this course doesn't include Java training. It doesn't have to be at expert level but you should be able to develop basic applications on your own.
Knowing multithreading and concurrents systems can be helpful however it is not a requirement as the course covers the brief introduction on concurrency, threads, multi-threads and parallelism.
After teaching the AKKA Actors module, the course will go into details of scaling the actors for multithreading. You will learn about all possible routing options.
Following the routing for scaling AKKA Actors, you will learn about AKKA supervision strategies and life cycle of an actor.