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

 21 Hours

Delivery Options

Private Group Training

Our identity is rooted in delivering exactly what our clients need.

  • Pre-course call with your trainer
  • Customisation of the learning experience to achieve your goals -
    • Bespoke outlines
    • Practical hands-on exercises containing data / scenarios recognisable to the learners
  • Training scheduled on a date of your choice
  • Delivered online, onsite/classroom or hybrid by experts sharing real world experience

Private Group Prices RRP from €6840 online delivery, based on a group of 2 delegates, €2160 per additional delegate (excludes any certification / exam costs). We recommend a maximum group size of 12 for most learning events.

Contact us for an exact quote and to hear our latest promotions


Public Training

Please see our public courses

Provisonal Upcoming Courses (Contact Us For More Information)

Related Categories