The full capabilities of Akka come from the ability to scale using clustering and networking. In this course, you will learn how to build, manage, and configure a cluster, manage network communication within an application, and use advanced utilities.
Learning Objectives
Clustering
- start the course
- describe the advantages of clusters and how they work
- create a cluster and actors that can join its nodes
- manage and remove cluster members
- subscribe actors to cluster events
Advanced Clustering
- distribute actors across nodes using cluster sharding
- publish and send messages to members
- communicate with cluster members from outside the cluster using cluster client
- create routers that monitor or deploy routes on cluster nodes
- use Cluster Metrics Extension to monitor cluster health and perform load balancing
- manage clusters using a JMX console or command lines
Other Network Features
- monitor and manage actors remotely and enhance remote security
- use serialization to convert objects to and retrieve objects from simple byte data
- describe the Akka I/O implementation
- create and manage connections using TCP
- use the Akka-Camel module to send and receive messages
Akka Utilities
- use the event stream to publish events
- set up logging within an Akka application
- use the scheduler to create future events
- use circuit breakers to avoid "hanging" applications caused by nonresponsive services
- create extensions to add your own features to Akka
- use Akka along with Sprint or any other JEE application
- use Akka along with Play framework as a service backend
- separate Akka message into its own module, group actors into modules, and deploy those modules independently
- implement continuous integration and deploy large-scale Akka-based applications
Practice: Akka Clusters
- create a clustered Akka application including logging and event subscription