Akka - from Beginner to Intermediate/Advanced Training Course

Course

In City Of London

Price on request

Description

  • Type

    Course

  • Location

    City of london

This training outline is intended to bring attendees from a beginner to an intermediate/advanced level in the understanding and knowledge of the Akka framework.
The entire course is hands on, mostly driven by the trainer in the beginning and progressively shifting towards the attendees producing code themselves (and downloading implementations/solutions written by the trainer).
Attendees are not expected to have prior knowledge of Scala, the trainer will take the necessary time to explain and clarify all the intricacies that relate to the Scala code used.

Facilities

Location

Start date

City Of London (London)
See map
Token House, 11-12 Tokenhouse Yard, EC2R 7AS

Start date

On request

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

Subjects

  • Trainer
  • Router
  • Testing

Course programme

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
  • 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

Akka - from Beginner to Intermediate/Advanced Training Course

Price on request