8 Clustering

 

This chapter covers

  • Forming a cluster
  • Cluster monitoring
  • Building a clustered Akka app

An Akka cluster is a group of nodes that communicate peer-to-peer to form a whole. These nodes are ActorSystems that live in independent JVMs. Thanks to its decentralized structure, a cluster has no single point of failure, is fault-tolerant and can dynamically increase and decrease the number of nodes.

Distributed applications run in environments that are not fully under our control, such as cloud computing platforms or remote data centers. The larger the cluster, the greater the ability to distribute the load, but the greater the risk of failure. In the event of this inevitable failure, Akka offers clustering and many extensions that provide solutions to common needs that have been raised over the years. One of these requirements is the means to monitor and change the state of the cluster nodes.

Akka Cluster give raise to multiple tools. You will learn about the first two in this chapter; for the others, it may be useful to know that they are available when you need them.

8.1 Why use clustering?

 
 
 
 

8.1.1 Cluster membership: joining the Cluster

 
 

8.1.2 Cluster minimal example

 

8.1.3 Starting the cluster

 
 

8.1.4 Leaving the cluster

 
 
 
 

8.1.5 Unreachable

 
 
 

8.1.6 Downing a reachable node

 
 
 
 

8.2 Akka Management and the cluster HTTP extension

 

8.2.1 Cluster subscriptions

 
 
 
 

8.3 Clustered job processing

 
 
 
 

8.3.1 In practice

 
 

8.3.2 The code

 
 

8.3.3 Work distribution in the master

 
 

8.3.4 Starting the cluster

 
 
 

8.4 Resilient job

 
 

8.4.1 Serialization

 
 
 
 

8.4.2 Testing it’s no different

 
 
 

8.5 Summary

 
 
 
 
sitemap

Unable to load book!

The book could not be loaded.

(try again in a couple of minutes)

manning.com homepage
test yourself with a liveTest