Lightbend Akka for Scala - Professional

This two-day course introduces experienced Scala developers to the reactive Akka toolkit. The combination of hands-on work and exercises in this course provide the perfect environment to best learn to use Akka with Scala.

Participants

  • Developers with basic knowledge of Scala, as covered in “Lightbend Scala Language - Professional”
  • Developers with a familiarity of Reactive Architecture, as covered in “Lightbend Reactive Architecture - Professional”
  • Developers who want to develop resilient, event-driven, scalable applications
  • Architects who want to have hands-on experience building Reactive Akka applications

Benefits

  • Developers gain knowledge and skills to design fault-tolerant apps using Akka
  • Certified Lightbend Trainers share how to configure, test, and tune Akka apps
  • Production readiness - create asynchronous, event-driven systems

Outline

  1. Introduction to Akka
    • Why Akka is Reactive
    • Akka's single model for Concurrency, Distribution, Fault Tolerance
  2. Actor Basics
    • The Actor Model
    • Anatomy of an Actor
    • Actors and Mutability
    • Actor Systems
    • Creating/Implementing Actors and Behaviors
    • Sending/Forwarding Messages
    • Sender
    • Child Actors
    • Actor Selections
    • Actor State
    • Scheduler
  3. Testing Actors
    • Synchronous Unit Testing with TestActorRef
    • Asynchronous Unit Testing with TestProbe
  4. Actor Lifecycle
    • Starting/Stopping Actors
    • Lifecycle Hooks
    • Death watch
  5. Fault Tolerance
    • Let it Crash design philosophy
    • Supervision
    • Supervision Directives
    • Restart Hooks
    • Self Healing
  6. Routers and Dispatchers
    • Concurrency vs Parallelism
    • Routers and Routing Strategies
    • Group Routers vs Pool Routers
    • Dispatchers and Dispatcher Types
  7. Modifying Actor Behavior
    • Become and Unbecome
    • Stash
  8. Ask Pattern
    • Ask Pattern and Pipe Pattern
  9. Akka Extensions
    • Creating and using Akka Extensions
  10. Finite State Machine
    • Using the FSM DSL to implement Finite State Machines

Logistics

  • Level: Intermediate - knowledge of and practical experience with Scala is assumed
  • Length: Two days - 14 hours of classroom time, plus breaks
  • Approach: Extensive hands-on coding - students develop a workshop case study and produce a fully functional application that is event-driven and resilient
  • Requirements: Students must bring their own laptops with Java 8

Related Trainings

  • Lightbend Reactive Architecture - Professional
  • Lightbend Scala Language - Professional
  • Lightbend Scala Language - Expert
  • Lightbend Play for Scala - Professional
  • Lightbend Akka for Scala - Expert