liveBook · Manning

Cluster node

As explained in Akka in Action, Second Edition

A cluster node is an individual computing instance that participates as a member of a distributed cluster.

A cluster node is an independent JVM running an Akka ActorSystem and participating in a peer-to-peer cluster. Nodes communicate over the network, while actor location remains transparent to business logic: an actor can reside locally or on another node without changing how it is addressed. Adding nodes distributes load; removing or losing nodes is an expected part of operating a fault-tolerant application. section 8.0 section 8.2

Each node has a unique network address and moves through membership states. Seed nodes provide initial contact points: the first seed forms the cluster, then other seed and non-seed nodes send join requests and become Up after the leader manages the membership transition. A node may contain only an ActorSystem, making pure seed nodes possible. section 8.2.1 section 8.2.3

Figure 8.7 Finite state machine of cluster states
CH08_F07_Abraham2

Use the lifecycle diagram to distinguish normal membership transitions from states that require operational intervention. section 8.2.3

Run nodes with distinct responsibilities by assigning cluster roles:

  • A director node can create a master and router after receiving SelfUp, delaying work until required members are available. section 8.4.2
  • Aggregator nodes can create configured workers that register with the router and asynchronously process delegated texts. section 8.4 section 8.4.2
  • Seed nodes can bootstrap membership without hosting business actors. section 8.2.1

Word-counting cluster

Start one seed node, one director node, and two aggregator nodes on separate ports. Once the configured minimum of one seed and two aggregators is joining, the members can become Up. The director's master sends texts to workers at random; workers return word-frequency maps, and the master merges results. This separates distributed deployment concerns from the counting logic. section 8.4 section 8.4.2

A node can become unreachable because of a network partition, a long garbage-collection pause, or an ungraceful shutdown. An unreachable node cannot rejoin directly and must be shut down; start a new node instead. Akka Management exposes member status through HTTP and, when write operations are enabled, can issue join, leave, or down operations for a node address. section 8.2.5 section 8.3

How Akka in Action, Second Edition covers it

How deep it goes
Explains node formation, roles, lifecycle states, failure handling, and HTTP management through runnable multi-node setup.
Examples
Demonstrates seed nodes on ports 2551–2553 and a role-based word-counting system with director and aggregator nodes.
What it assumes
Builds from creating an ActorSystem and configuration while introducing distributed membership and failure handling from zero.
What you can do after
Operate/configure it by starting role-specific nodes, observing membership, and managing joins or leaves through HTTP.
How it connects
Connects nodes with ActorSystem, cluster membership, seed nodes, actor location transparency, roles, and failover.

Also explained in

Compare how 3 books explain cluster node →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Akka in Action, Second Edition. The section links point to the parts of the book it draws on.