Thank you for sending your enquiry! One of our team member will contact you shortly.
Thank you for sending your booking! One of our team member will contact you shortly.
Course Outline
Introduction, environment Setup and a first application
- The Akka framework
- The Actor model (definition & origins)
- Fault tolerance
- Location transparency
- Scaling
- Actors In Akka
- Setting up a Scala/Maven environment
- A first application in Akka
- Create the project
- Defining message Classes
- Defining actor Classes
- Defining the execution Class
- Architecture & configuration files
Actors & Typed Actors
- Anatomy of an Actor
- Creating Actors (default constructors, custom constructors, actor hierarchy)
- Messaging Models
- Sending messages
- Fire and forget
- Send and receive
- Receiving messages
- Replying to messages
- Forwarding messages
- Sending messages
- Stop Actors
- Kill Actors
Fault Tolerance - Actor Lifecycle & State
- Let it crash
- Supervision & supervisor strategy
- One for one
- All for one
- Lifecycle callbacks
- Receiving Messages
- Online/Offline state
- Hotswap: Become / Unbecome (& stash)
- Finite State Machine FSM
- States
- Behaviour
Concurrency
- Blocking vs event driven API
- Using futures & promises
Dispatchers & Routes
- Dispatchers
- Dispatcher as a pattern
- Executor & Dispatchers
- Types of dispatcher / Which to use when
- Default dispatcher
- Pinned dispatcher
- CallingThread dispatcher
- Balancing dispatcher
- Routers
- Types of Routers
- Router usage
- Router usage via application.conf
- Router usage for distributed actors
- Dynamically resizing routers
- Custom Router
Clustering
- About the Akka Cluster & the CAP theorem
- Defining a cluster
- Cluster Member Status
- Routing messages to the cluster
- Addressing remote actors
Mailboxes
- Types of mailboxes
- Durable mailboxes
- Circuit breakers
Transactions (time permitting)
Testing
- Writing unit test
- Access the actor reference
- Testing actor behaviour
- Testing exception scenarios
JMX and REST interfaces
- RESTful API
- JMX
Requirements
There are no specific requirements needed to attend this course.
Testimonials
Richard, he was very nice and patient which was much needed
- Johnson and Johnson EMEA Development Centre
Akka - from Beginner to Intermediate/Advanced Course
Good visibility on akka
- Johnson and Johnson EMEA Development Centre
Akka - from Beginner to Intermediate/Advanced Course
The course is not easy for beginners but Richard was very friendly and gave one-to-one time to everyone who was stuck.
- Johnson and Johnson EMEA Development Centre
Akka - from Beginner to Intermediate/Advanced Course
Related Courses
Akka Fundamentals
21 hours
Akka Advanced
21 hours
Akka Streams
7 hours
Programming in Scala
14 hours
Apache Spark Streaming with Scala
21 hours
Introduction to Programming
35 hours
Clean Code
14 hours
Linux Network Programming
14 hours
Java Advanced
28 hours
Continuous Integration (CI) for Java
14 hours