Enabling Akka clustering for your project
We know how to interact with remote actors--create them, look them up, and send messages. However, Akka remoting requires you to know the actual addresses of actors in order to connect to them. Akka clustering is a layer on top of Akka remoting that helps you manage remote actors to provide a decentralized fault-tolerant service.
Akka clustering brings in a few new concepts:
- Node: This is a logical member of a cluster. It is defined by a
hostname:port:uid
tuple. - Cluster: This is a set of nodes joined together through a membership service. Akka clustering utilizes the Gossip protocol to maintain a decentralized registry of nodes in a cluster.
- Leader: A single node in the cluster acts as a leader. The leader manages the convergence and membership state transitions.
- Seed nodes: These are a set of nodes that are used by other nodes to join the cluster.
- Failure detector: This is responsible for trying to detect whether a node is unreachable from the rest of...