Introduction to Akka for Java Developers

Akka is a distributed computing toolkit that brings actor-based concurrency and distribution to Java developers. Akka is the essential technology for developers who must enable Java-based systems for the cloud.

While actor-based systems may be positioned in marketing materials for their ability to scale out with virtually no limits, the real business value of Akka is its ability to help Java developers craft systems with near-perfect uptime in real-world production environments. Akka also makes it possible to refactor Java-based heritage systems in order to ready those systems for cloud infrastructure.

Program Overview

In this program we introduce the core concepts of Akka, such as the actor model, supervision, and the fundamentals of message-based concurrency. Participants will learn to craft highly resilience, scalable systems that are ready to deploy to cloud-based infrastructure such as AWS and Google Compute Engine.

What to expect

This is a 3 day hands-on program with a strong emphasis on participation. Developers will require access to a laptop along with internet connectivity to participate. We will provide all of the required dependencies to follow along with exercises during program delivery.

Curriculum

  • Java 8 for Akka
    • An introduction to the core features of Java 8 that are beneficial to Akka developers
    • Collections in core Java 8
    • Lambdas and SAMs
    • Using Javaslang for functional-style Java programming
    • Mutable vs immutable types
    • Modern concurrency patterns in Java
  • Akka Basics
    • An introduction to the actor model
    • An introduction to Akka’s core messaging patterns, ask and tell
  • Fault Tolerance
    • State and supervision
    • Event sourcing with persistence
  • Distribution
    • An introduction to working with remote actor-systems
    • Cluster
    • Groups, routers and the event bus
    • Sharding
    • Cluster migration
  • Configuration
    • Dispatchers and isolation
    • Deployment as configuration

Prerequisites

This is an introductory course suitable for developers with a solid understanding of Java, including the new collections API, streams, and lambda syntax. Key features of Java 8 will also be covered as a refresher. The cirriculum is purpose-designed with the enterprise Java developer in mind. Experience with Java concurrency such as threads and fork/join are helpful but not required.

Contact Us To Discuss Training Contact Us