IBM and Red Hat — the next chapter of open innovation. Learn more ›
by Hugh McKee | Published June 19, 2019
Digital transformation of the enterprise is challenging developers to create applications capable of dealing with massive scale (connected devices, sessions, transactions), massive amounts of data, or both. Cloud infrastructures provide the ideal deployment environment for such apps. However, getting the most out of this compute platform entails writing highly concurrent, distributed software. This is just plain difficult to do correctly. It requires proper handling of threads, synchronization, preventing race conditions, dealing with persistence and state, scaling the application, and responding to failures.
Fortunately, developers have some choices when it comes to selecting toolkits and frameworks to assist with cloud-native development. One such toolkit, Akka, was created specifically for building highly concurrent, distributed, and resilient applications. This series will focus on Akka clustering and persistence features — capabilities that make it perfect for building containerized applications deployed under Kubernetes orchestration.
This series begins with a simple Akka cluster project and progressively builds up to examples of event sourcing and command query responsibility segregation. Each project described can be cloned, built, and run independently of the other projects. The seventh and final tutorial describes how to deploy the resulting application to IBM Cloud. It provides a simple tool to visualize the interaction of the Kubernetes pods, Akka Clusters, and Akka actors, illustrating how the application architecture built with Akka works in concert with Kubernetes container orchestration to create a truly reactive system with multiple levels of resilience and scale.
The following items make up this series (Unit 7 to come):
Set up a basic Akka cluster.
Akka clustering awareness
Set up a basic Akka cluster with a focus on cluster aware actors.
Akka clustering singletons
Set up a basic Akka cluster with a focus on cluster singletons.
Akka clustering sharding
Set up a basic Akka cluster with an example implementation of cluster sharding.
Set up a basic Akka cluster with an example implementation of Akka persistence.
Akka persistence query
Set up a basic Akka cluster with an example implementation of Akka persistence and Akka persistence query.
Back to top